Java Swing 对话框


Swing 对话框

  • 对话框用于用户和程序之间进行信息交换。JDialog 类及其子类(用户定义)的对象表示对话框。JDialog 类和 JFrame 类一样都是 Window 的子类,同属于顶层容器;
  • 对话框分为有模式对话框和无模式对话框两类。在创建一些简单、标准的对话框时,主要使用 javax.swing.JOptionPane 类来完成。如果要创建一个自定义的对话框,则可以使用 javax.swing.JDialog 类;

1. 消息对话框

  • 消息对话框 showMessageDialog 是显示指定内容的、带有一个按钮的对话框。用于显示一些提示信息,它是一个有模式对话框。创建消息对话框的常用方法为 public static void showMessageDialog(Component parentComponent, object message,String title,int messageType)
  • 它是 JOptionPane 类的一个静态方法,有4 个参数:
    (1)parentComponent 用于确定显示消息对话框的父窗口,并在这个父窗口的中间显示;
    (2)message 用于在对话框中显示提示信息;
    (3)title 用于设置对话框的标题栏内容;
    (4)messageType 指定要显示的消息类型;
  • 例如:
    JOptionPane.showMessageDialog(null,"您输入了错误的字符","消息对话框", JOptionPane.ERROR_MESSAGE);
    1

2. 输入对话框

  • 输入对话框 showInputDialog 可以让用户在对话框中输入信息,实现用户与程序之间的动态交互。对话框中包括用户输入文本的文本区、“确定”按钮和“取消”按钮3 个部分。创建输入对话框的常用方法如下:public static String showInputDialog(Component parentComponent, Object message,String title, int messageType)
  • 它是 JOptionPane 类的一个静态方法,方法中的参数定义与消息对话框相同。这个方法的返回值是用户输入的字符串内容。例如,下面的语句可以显示一个输入对话框,方法返回输入的字符串并存放在 str 中:String str=JOptionPane.showInputDialog(this,"输入数字,用空格分隔","输入对话框", JOptionPane.PLAIN_MESSAGE);
    2

3. 确认对话框

  • 确认对话框 showConfirmDialog 用于显示一个提示信息让用户确认。确认对话框是有模式对话框。创建认对话框的常用方法如下:public static int showConfirmDialog(Component parentComponent, Object message,String title, int optionType,int messageType)),该方法是 JOptionPane 类的一个静态方法,方法中的参数定义与消息对话框中相同名称的参数定义相同。增加的参数 optionType 指定显示的按钮类型和格式;
  • 执行结束后会返回一个整数值常量。例如,下面的语句可以显示一个确认对话框,方法返回的值存放在 n 中:int n=JOptionPane.showConfirmDialog(null,"确认是否正确","Regino", JOptionPane.YES_NO_OPTION );
    3

4. 颜色对话框

  • 颜色对话框使用 javax.swing.JColorChooser 类创建。创建颜色对话框的方法如下:public static Color showDialog(Component component, String title,Color initialColor) 该方法是一个静态方法,返回值是本次选择的颜色;
  • 方法中的参数定义与消息对话框中相同名称的参数定义相同,参数 initialColor 为初始选择的颜色。例如,下面的语句显示一个的颜色对话框,方法返回颜色对象:Color color= JColorChooser.showDialog(null, "Regino", Color.RED);
    4

5. 自定义对话框

  • 自定义对话框使用 JDialog 类创建。JDialog 本身就是一个容器,其默认布局是 BorderLayout。通过向其中添加相应的组件就可以设计出合适的对话框;
发布了269 篇原创文章 · 获赞 270 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Regino/article/details/104909189