Java学习13 GUI程序设计(Swing)

来源:互联网 发布:父母的神逻辑知乎 编辑:程序博客网 时间:2024/05/22 06:33

Swing概述

  • Java基础类库,Java Foundation Classes,JFC

    • 用于GUI的类库:AWT,Java 2D,Java accessiblility
  • 重量组件,Heavy-Weight Components

    • AWT:通过对等组件(本地底层平台实现的GUI组件,C/C++)完成具体工作,包括组件绘制和响应。运行速度快;但平台相关性大,开销大
  • 轻量组件,Heavy-Weight Components

    • Swing:100%Java,不存在本地对等组件,通过绘图实现。多平台一致,开销小;但运行相对慢

java中AWT和SWing的区别与联系

Swing典型组件

  • Swing组件根父类javax.swing.JComponent

  • 继承:Object<–Component<–Container<–JComponent

JFrame

  • 继承Frame,实现了javax.swing.WindowConstants接口
    • DO_NOTHING_ON_CLOSE
    • HIDE_ON_CLOSE
    • DISPOSE_ON_CLOSE
    • EXIT_ON_CLOSE

Swing菜单/按钮/工具条

  • 菜单:JMenuBar/JMenu/JMenuItem

    • 菜单快捷键
      • setMnemonic:需要获得焦点
      • setAccelerator:不需要获得焦点
    // 快捷键NjMenuItem1.setMnemonic(KeyEvent.VK_N);// 快捷键Ctrl+NjMenuItem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,KeyEvent.CTRL_MASK));
  • 工具条,按钮:JToolBar,JButton,ImageIcon

    • 提示
      • setToolTipText
    // 按钮提示jButton1.setToolTipText("按钮");

Swing标准对话框

javax.swing.JOptionPane

  • 错误、警告、确认用户操作
  • 接收用户简单信息
  • 列举简单选项

表格

javax.swing.JTable

javax.swing.JTree

定时器

javax.swing.Timer:用于指定时间延迟后,触发ActionEvent事件,执行处理方法

  • setRepeats()
  • setInitialDelay():如设为0,定时器启动即执行一次
  • start()
  • stop()
  • restart()
// 定时器1秒钟执行myListner监听器方法Timer t1 = new Timer(1000, myListner);
原创粉丝点击