Java Swing中几种常见对话框(文件对话框、消息对话框、输入对话框、确认对话框、颜色对话框)
1、Dialog类主要方法 JDialog类和JFrame都是Windows的子类,二者的实例都是底层容器,但二者有相似之处也有不同的地方,主要区别是JDialog类创建的对话框必须要依靠于某个窗口。 创建对话框与创建窗口类似,通过建立JDialog的子类来建立一个对话框类,然后这个类的一个实例就是一个对话框。对话框是一个容器,它的默认布局是BorderLayout
1、Dialog类主要方法
JDialog类和JFrame都是Windows的子类,二者的实例都是底层容器,但二者有相似之处也有不同的地方,主要区别是JDialog类创建的对话框必须要依靠于某个窗口。
创建对话框与创建窗口类似,通过建立JDialog的子类来建立一个对话框类,然后这个类的一个实例就是一个对话框。对话框是一个容器,它的默认布局是BorderLayout,对话框可以添加组件,实现与用户的交互操作。需要注意的是,对话框可见时,默认地被系统添加到显示器屏幕上,因此不允许将一个对话框添加到另一个容器中。
JDialog():构造一个无标题的初始不可见的对话框。对话框依赖一个默认的不可见的窗口,该窗口由Java运行环境提供。
JDialog(JFrame owner):构造一个无标题的初始不可见的无模式的对话框。owner是对话框所依赖的窗口。
JDialog(JFrame owner, String title):构造一个具有标题title的初始不可见的无模式的对话框,owner是对话框所依赖的窗口。
JDialog(JFrame owner, String title, boolean modal):构造一个具有标题title的初始不可见的对话框,owner是对话框所依赖的窗口,modal决定对话框有无模式。
getTitle():获取对话框的标题。
setTitle():设置对话框的标题。
setModal(boolean):设置对话框的模式。
setSize():设置对话框的大小。
setVisible(boolean b):显示或隐藏对话框。
public void setJMenuBar(JMenuBar menu):对话框添加菜单条。
2、对话框模式
对话框分为无模式和有模式两种。
如果一个对话框是有模式的,那么当这个对话框处于激活状态时,只让程序响应对话框内部的事件,而且将堵塞其它线程的执行,用户不能再激活对话框所在程序中的其它窗口,直到该对话框消失不可见。
无模式对话框处于激活状态时,能再激活其它窗口,也不堵塞其它线程执行。
3、文件对话框(FileDialog)
文件对话框是一个从文件中选择文件的界面,文件对话框事实上并不能打开或保存文件,它只能得到要打开或保存的文件的名字或所在的目录,要想真正实现打开或保存文件,还必须使用输入、输出流。
javax.swing包中的JFileChooser类可以创建文件对话框,使用该类的构造方法JFileChooser()创建初始不可见的有模式的文件对话框。showSaveDialog(Component a), showOpenDialog(Component a)都可使得对话框可见,但外观有所不同。showSaveDialog(Component a)方法提供保存文件的界面,showOpenDialog(Component a)方法提供打开文件的界面。参数a指定对话框可见时的位置。
当用户单击文件对话框上的“确定”、“取消”按键或关闭图标,文件对话框将消失,方法返回:JFileChooser.APPROVE_OPTION和JFileChooser.CANCEL_OPTION之一。当返回值是JFileChooser.APPROVE_OPTION时,可以使用JFileChooser类的getSelectedFile()得到文件对话框所选择的文件。
FileDialog是Dialog的子类,主要方法有:
1、FileDialog(Frame f,String s,int mode):构造方法,f为所依赖的窗口对象,s是对话框的名字,mode取值为FileDialog.LOAD或FileDialog.SAVE。
2、public String getDirwctory():获取当前对话框中所显示的文件目录。
3、public String getFile():获取对话框中显示的文件的字符串表示,如不存在则为null。
4、消息对话框
消息对话框是有模式对话框,进行一个重要的操作动作之前,弹出一个消息对话框。可以用javax.swing包中的JOptionPane类的静态方法。
public static void showMessageDialog(Component parentComponent,String message, String title, int messageType);
Component parentComponent:消息对话框依赖的组件
String message: 要显示的消息
String title:对话框的标题
int messageType):对话框的外观,取值如下:
JOptionPane.INFORMATION_MESSAGE
JOptionPane.WARNING_MESSAGE
JOptionPane.ERROR_MESSAGE
JOptionPane.QUESTION_MESSAGE
JOptionPane.PLAIN_MESSAGE
5、输入对话框
输入对话框含有供用户输入文本的文本框、一个“确定”和“取消”按钮,是有模式对话框。当输入对话框可见时,要求用户输入一个字符串。javax.swing包中的JOptionPane类静态方法:
public static String showInputDialog(Component parentComponent, Object message, String title, int messageType);
Component parentComponent:指定输入对话框所依赖的组件。
Object message:指定对话框上的提示信息。
String title:对话框上的标题。
int messageType:确定对话框的外观,取值如下:
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
6、确认对话框
确认对话框是有模式对话框,可以用javax.swing包中的JOptionPane类的静态方法创建:
public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType);
Component parentComponent:对话框所依赖的组件。
Object message:对话框上显示的消息
String title:对话框的标题
int optionType):对话框的外观,取值如下:
JOptionPane.YES_NO_OPTION
JOptionPane.YES_NO_CANCEL_OPTION
JOptionPane.OK_CANCEL_OPTION
当对话框消失后,showConfirmDialog方法会返回下列整数之一:
JOptionPane.YES_OPTION
JOptionPane.NO_OPTION
JOptionPane.CANCEL_OPTION
JOptionPane.OK_OPTION
JOptionPane.CLOSED_OPTION
7、颜色对话框
使用java.swing包中的JColorChooser类表静态方法创建:
public static Color showDialog(Component component,String title,Color initialColor);
Component component:对话框所依赖的组件。
String title:对话框的标题。
Color initialColor):对话框消失后返回的默认颜色
注意:在上面的所有message中,都可以用JLabel来代替字符串。
更多推荐
所有评论(0)