常见Swing组件类
1.JFrame窗体框架类
setDefaultCloseOperation()是用来设定窗口被关闭时候(比如点击了右上角的"x")的行为的。
DISPOSE_ON_CLOSE在窗口被关闭的时候会dispose这个窗口。
EXIT_ON_CLOSE在窗口被关闭的时候会退出JVM。
如果你的程序没有其他线程在运行的话,当所有的窗口都被dispose了之后,JVM也会退出。
JFrame window1=new JFrame();//无标题的窗口
JFrame window2=new JFrame("我的窗口");//有标题的窗口
window1.setBounds(x,y,width,height);//设置窗口的位置和大小
window1.setVisible(true);//设置窗口可见
2.JDialog对话框类
JDialog类有多个构造方法,具有代表性的是下列3个:
JDialog()方法:无参构造方法,创建一个无标题,无所有者的无模式对话框
JDialog(Dialog owner,String title,boolean modal)方法:创建一个最具有指定标题、模式和指定所有者Dialog的对话框,owner用于指定对话框拥有者,title用于指定对话框标题,modal取值为true时,创建的为模式对话框,为false时创建的是非模式对话框。
JDialog(Frame owner,String title,boolean modal)方法:创建一个具有指定标题、所有者Frame和模式的对话框,所创建的对话框的所有者是一个框架对象。
3.JOptionpane对话框类
JOptionpane类是用于定义消息对话框、确认对话框和输入对话框的对话框类。
布局管理器
布局管理器用于解决组件在容器中的位置和大小问题,组件在容器中分布情况影响着可视化界面的显示效果。
1.边框布局(BorderLayout)
边框布局(BorderLayout)是一个布置容器的边框布局,其把容器分为五个区域:北、南、东、西、中
2.流式布局(FlowLayout)
流式布局(FlowLayout)是使用最普遍的一种布局管理器,组件在容器中的排列采用的是从左到右,从上到下的规律。
3.网格布局(GirdLayout)
网格布局(GirdLayout)通过二维表来划分容器空间,即把容器空间划分为一定行数和列数组成的网格
4.网格包布局(GirdBagLayout)
5.null布局(绝对布局)
绝对布局,即在容器中直接指定组件的位置坐标和大小,使组件在容器中精确定位
(1)利用setLayout(null)语句将容器的布局设置为null布局(空布局)。
(2)用组件的setBounds(int x,int y,int width,int height)方法设置组件在容器中的大小和位置,单位均为像素。其中:
x为控件左边缘窗体左边缘的距离
y为控件上边缘窗体上边缘的距离
width为空间宽度
height为空间高度
常用面板
JPanel面板
轻量级容器,用于容纳组件对象
JScrollPane面板
当需要在较小窗体上显示较多内容时,可以使用JScrollPane面板容器,这是一个带滚动条的容器,该面板只允许放置一个组件对象。
Swing事件处理
Java Swing中处理各组件事件的一般步骤为:
(1) 新建一个组件(如JButton)
(2)将该组件添加到相应的面板(如JPanel)
(3)注册监听器以监听事件源产生的事件(如通过ActionListener来响应用户单机按钮)
(4)定义处理事件的方法(如在ActionListener中的ActionPerformed中定义相应方法)
处理事件的三种方法
1、所有的用户行为(如单击按钮) 由一个ActionListener中的actionPerformed()方法来处理
2、使用匿名内部类可以解决上述存在的问题,使用简单的匿名内部类作为addActionListener()的变量即可
3、使用一般的命名内部类可以解决以上许多问题,所有的事件处理方法都集中在一起,并且都具有意义的名称,程序非常容易阅读与维护,单个的事件处理程序也可以被工具栏和菜单栏等重复使用。
网友评论