zoukankan      html  css  js  c++  java
  • 第十六章、Java图形界面编程

    第十六章、Java图形界面编程

       在java中创建GUI(Graphic User Interface)应用程序有两套API:
    Swing和AWT(Abstract Windowing Toolkit)。Swing API使用了大量AWT类和接口,
    Swing是在AWT的基础上开发的新型GUI组件,SWT弥补了AWT的很多不足,是现在流行的界面
    Swing建立步骤:
           1.建立容器 
           2.建立组件
           3.将组件添加到容器中
           4.设置布局

    注意:java.awt.Container类是所有Swing的父类

    比较重要的容器
      
       JApplet:在浏览器中运行的容器
       JFrame:带有标题和边框的的顶级窗口
       JPanel:就是一个矩形区域,其中可以包含图形组件,也可以包含其他JPanel
       JScrollPane:一种可以实现水平和垂直的滚动条容器
       JDialog:弹出窗口(有标题和边框的小容器)

    常用的组件(组件是放在容器中的)

       按钮(类JButton),单选按钮(类JRadioButton),复选框(JCheckBox),组合框(类JComBox),
    列表框(类JList),文本字段(JTextField),纯文本区域(类JTextArea)等

    监听器
      
       在对应的按钮的对象添加监听器(……listener)例如:(这个示例的监听器是使用的匿名内部类)
        jbtn1.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent arg0) {
        getMain().getCard().show(getMain().getContentPane(), "result");
       }
      });//所有的监听器都是接口,所以需要一个类来实现,这个代码使用了匿名内部类来实现 

    布局管理器

       容器使用布局管理器决定组件在容器中的布局方式。布局管理器包括FlowLayout,BorderLayout,GridLayout,GridBagLayout,
    CardLayout,BoxLayout,SpringLayout和OverlayLayout,其中最常用的是FlowLayout,BorderLayout,GridLayout

    事件

      java GUI编程使用委托模型处理组件和容器的事情。事件源本身不处理事件,而是将事件委托给
    注册了的事件监听器,由事件监听器中的方法来处理事件。所有事件类均继承自java.util.EventObject类。
    每个事件类……Event有对应的事件监听器接口……Listener。想要事件源有事件处理功能,就必须
    创建一个组件对象用于添加监听器,其是通过add……Listener()方法来实现的。例如:
           jbtn3.addActionListener(new ActionListener() {//注册了的事件监听器,其进行操作
       public void actionPerformed(ActionEvent arg0) {
        int num =JOptionPane.showConfirmDialog(null, "你确定要退出", "退出", JOptionPane.YES_NO_OPTION);
        if(num==0){
         System.exit(0);
        }
       }
      });
       注意:定义监听器类的方法有很多种,但是建议使用匿名内部类来定义,使用事件适配器类将
             降低程序员的代码量
     

  • 相关阅读:
    [转贴]USB簡介
    [网游计划第六、七天]压力好大,坚持很难
    [备忘] 字符串倒序函数strrev
    我的网游计划:ACM 30天 60题
    [网游计划第一天]:不怎么顺利的开始
    程序员必须要有的自信
    转:squid做反向代理时,要注意的安全设置
    Linux DHCP Server 配置给FIT AP 使用的option
    jdk配置
    nod32升级
  • 原文地址:https://www.cnblogs.com/tangyue/p/3684984.html
Copyright © 2011-2022 走看看