Java Swing知识点总结

Java Swing 是用于创建图形用户界面 (GUI) 的一组 Java 库。以下是 Java Swing 的主要知识点:

1. 基础概念

  • Swing 简介
    • Swing 是 Java 的标准 GUI 库,用于创建窗口、按钮、文本框等用户界面组件。
    • 它是基于 AWT (Abstract Window Toolkit) 之上的更高级的 GUI 工具包。
  • 主要组件
    • JFrame:主窗口。
    • JPanel:用于组织其他组件的面板。
    • JButton:按钮。
    • JLabel:标签。
    • JTextField:单行文本输入框。
    • JTextArea:多行文本输入框。
    • JCheckBox:复选框。
    • JRadioButton:单选按钮。
    • JComboBox:下拉列表。
    • JList:列表。
    • JTable:表格。
    • JScrollPane:滚动面板。

2. 事件处理

  • 事件模型
    • Swing 使用委派事件模型,事件源对象产生事件,事件监听器处理事件。
    • 常见事件:动作事件 (ActionEvent)、鼠标事件 (MouseEvent)、键盘事件 (KeyEvent) 等。
  • 事件监听器
    • ActionListener:处理按钮点击等动作事件。
    • MouseListener:处理鼠标点击、进入、退出等事件。
    • KeyListener:处理键盘按键事件。
    • 实现步骤:创建监听器类,实现接口方法,注册监听器到组件。
java复制代码// 示例:按钮点击事件处理
JButton button = new JButton("Click Me");
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("Button clicked!");
    }
});

3. 布局管理

  • 布局管理器

    • FlowLayout:按顺序从左到右排列组件,自动换行。
    • BorderLayout:将容器划分为五个区域:北、南、东、西、中。
    • GridLayout:将容器划分为等大小的网格。
    • BoxLayout:在一行或一列中排列组件。
    • GridBagLayout:更复杂的网格布局,允许组件跨越多个单元格。
java复制代码// 示例:使用 BorderLayout
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.add(new JButton("North"), BorderLayout.NORTH);
frame.add(new JButton("South"), BorderLayout.SOUTH);
frame.add(new JButton("East"), BorderLayout.EAST);
frame.add(new JButton("West"), BorderLayout.WEST);
frame.add(new JButton("Center"), BorderLayout.CENTER);

4. 容器和组件

  • JFrame:主窗口。
    • 常用方法:setSize(), setVisible(), setDefaultCloseOperation(), add()
  • JPanel:用于组织组件的容器。
    • 可以嵌套,使用不同的布局管理器。
  • JScrollPane:为组件添加滚动功能。
    • 常用于 JTextArea, JList, JTable 等。

5. 高级组件

  • JTable:表格组件。
    • 使用 TableModel 进行数据管理。
    • 支持排序、过滤、自定义渲染器和编辑器。
  • JTree:树形结构组件。
    • 使用 TreeModel 进行数据管理。
  • JTabbedPane:选项卡面板,用于在一个窗口中显示多个选项卡。

6. 自定义组件和渲染

  • 绘图
    • 使用 paintComponent(Graphics g) 方法在组件上进行自定义绘图。
    • Graphics 类提供绘制形状、文本、图像的方法。
  • 自定义渲染器
    • 通过实现 TableCellRendererListCellRenderer 接口来自定义表格或列表项的显示。

7. 常用实用类

  • Timer:用于定时执行任务。
  • SwingWorker:用于后台任务处理,避免阻塞事件调度线程 (EDT)。
  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值