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程序
合群是堕落的开始 优秀的开始是孤行