• Java基础知识笔记第九章:组件及事件处理


    java Swing

    图形用户界面(GUI : Graphics  User   Interface)

    窗口

      JFrame常用方法

    JFrame()创建一个无标题的窗口。

    JFrame(String s)创建标题为s的窗口。

    public voidsetBounds(int a,int b,int width,int height)设置窗口的初始位置是(a,b),即距屏幕左面a个像素,距屏幕上方b个像素,窗口的宽是width,高是height。

    public void setSize(int width,int height)设置窗口的大小。

    public void setLocation(int x,int y)设置窗口的位置,默认位置是(0,0)。   

    public void setVisible(boolean b)设置窗口是否可见,窗口默认是不可见的。

    public voidsetResizable(boolean b)设置窗口是否可调整大小,默认可调整大小。

    public voiddispose()撤销当前窗口,并释放当前窗口所使用的资源。
        
    publicvoid setExtendedState(int state)设置窗口的扩展状态,其中参数state取JFrame类中的下列类常量

    MAXIMIZED_HORIZ (水平方向最大化) MAXIMIZED_VERT (垂直方向最大化) MAXIMIZED_BOTH (水平、垂直方向都最大化)。
      
    publicvoid setDefaultCloseOperation(int operation)该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理,

    其中的参数operation取JFrame类中的下列int型static常量,程序根据参数operation取值做出不同的处理: 
       
    DO_NOTHING_ON_CLOSE(什么也不做),HIDE_ON_CLOSE (隐藏当前窗口),DISPOSE_ON_CLOSE (隐藏当前窗口,并释放窗体占有的其他资源),EXIT_ON_CLOSE (结束窗口所在的应用程序)。

      菜单条,菜单,菜单项

    /*
    *菜单条
    */
    
    setJMenuBar(JMenubar  bar);
    菜单:
    JComponent类的子类JMenu负责创建菜单,即JMenu的一个实例就是一个菜单
    
    菜单项:
    JComponent类的子类JMenuItem负责创建菜单项,即JMenuItem的一个实例就是一个菜单项
    
    嵌入子菜单:
    JMenu是JMenuItem的子类,因此菜单本身也是一个菜单项,把一个菜单看做菜单项添加到某个菜单中时,称为菜单的子菜单
    
    
    菜单上的图标:
    Icon   icon=new ImageIcon(“a.gif”);

    常用组件及部件

      常用组件

    JTextField:文本框
    JTextArea:文本区
    JButton:按钮
    JLable:标签
    JCheckBox:复选框
    JRadioButton:单选框
    JComboBox:下拉列表
    JPasswordFiled:密码框

      常用容器

    /*
    
    JCpompoent是Container的子类,因此JComponent子类创建的组件也都是容器;中间容器必须添加到底层容器才能发挥作用
    
    */
    1.JPanel面板
    2.JtabbedPane选项卡窗口
            add(String  text,Component  c);//方法将组件c添加到JtabbedPane容器中
            public   JTabbedPane(int   tabPlacement);
    3.滚动窗口:
    JScrollPane  scroll=new   JScrollPane(new   JTextArea())  
    
    4. 拆分窗格JSplitPane
     JSplitPane(int   a,Component   b,Component   c)
     JSplitPane(int   a,boolean  b,Component   c,Component   d)
    
    5.JLayeredPane分层窗格
    add(Jcomponent  com,int   layer);

      常用布局

    setLayout(布局对象);
    FlowLayout布局:
    FlowLayout();
    botton.setPreferredSize(new Dimension(20,20))
    BorderLayout布局
    东西南北中布局
    con.add(b,BorderLayout.CENTER);
    CardLayout布局:
    
    CardLayout  card=new   CardLayout();
    GridLayout布局
    
    null布局
    
                p.setLayout(null);
       
    BoxLayout布局:

    处理事件

      事件处理模式

    事件源:
    能够产生事件的对象都可以称为事件源,文本框,按钮,下拉框。也就是说,事件源必须是一个对象。而且这个对象必须是java认为可以发生事件的对象
    
    监听器:
    需要一个对象对事件源进行监视,以便发生的事件做出处理,事件源通过调用相应的方法,将某个对象注册为自己的监听器,例如文本框,这个方法
    
    addActionListener(监听器);
    处理事件的接口:
    监视器负责处理事件源发生的事件。监视器是一个对象。为了处理事件源的发生的事件,监视器这个对象会自动调用一个方法来处理,(对象只有调用方法才能产生行为)

      ActionEvent事件

    ActionEvent事件源:
    文本框,按钮,菜单栏,密码框,和单选框按钮都可以触发ActionEvent事件,即都可以成为ActionEvent事件的事件源。

      ItemEvent事件

      焦点事件

      键盘事件

      窗口事件

      匿名类实例或窗口做监听器

    使用mvc

    对话框

      消息对话框

      输入对话框

      确认对话框

      颜色对话框

      自定义对话框

    树组件与表格组件

      树组件

      表格组件

    按钮绑定到键盘

    打印组件

    发布GUI程序

  • 相关阅读:
    ntohs, ntohl, htons,htonl的比较和详解【转】
    Device Tree 详解【转】
    浅析Linux DeviceTree【转】
    【spring boot】spring boot 拦截器
    【jQuery】jQuery/js 判断字符串是否JSON字符串
    【java】java中的 &= 和 |= 和 ^= 的区别
    zabbix创建触发器、action,发送报警邮件
    html iframe禁用右键
    mysql数据库mysqldump方式备份
    JDK8新特性
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/9738118.html
Copyright © 2020-2023  润新知