Head First Java 读书笔记

第13章:Swing

什么是 Swing 组件?

组件(Component),也称作元件。它们就是那些放在界面上与用户进行交互的东西,如 Button / List 等。事实上,这些 GUI 组件,都来自于 java.swing.JComponent。 在 Swing 中,几乎所有组件都可以嵌套,即一个组件可以安置在另一个组件之上。

创建 GUI 的四个步骤再回顾?

// 第1步:创建windon (JFrame)
JFrame frame = new JFrame();
// 第2步:创建组件
JButton btn = new JButton("click me");
// 第3步:把组件添加到 frame 上
frame.getContentPane().add(BorderLayout. EAST, btn);
// 第4步:显示 GUI 界面
frame.setSize(300, 300);
frame.setVisible(true);

什么是布局管理器?

布局管理器(Layout Managers)是个与特定组件关联的Java对象,它大多数是背景组件。布局管理器,负责组件的大小和位置。

布局管理器,是如何工作的?
有哪三大首席布局管理器?(BorderLayout / FlowLayout / BoxLayout)
BorderLayout布局有哪5个区域?(东区 / 西区 / 北区 / 南区 / 中央区)
FlowLayout布局的组件流向是怎样的?(从左至右,从上至下)
BoxLayout布局能解决什么问题?
如何创建Swing组件?如何操作组件?

Swing实例:JTextArea文本框

public class TestSwing implements ActionListener {
JTextArea text;

// 实现 ActionListener 接口的方法
public void actionPerformed(ActionEvent arg0) {
text.append("button clicked \n");
}
public void go() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton button = new JButton("Just Click It");
// 给 button 注册点击事件
button.addActionListener(this);
text = new JTextArea(10, 20);
text.setLineWrap(true);

JScrollPane scroller = new JScrollPane(text);
scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(scroller);
frame.getContentPane().add(BorderLayout.CENTER, panel);
frame.getContentPane().add(BorderLayout.SOUTH, button);
frame.setSize(350, 300);
frame.setVisible(true);
}
public static void main(String[] args) {
TestSwing gui = new TestSwing();
gui.go();
}
}

posted @   就叫清风吧  阅读(26)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示