Natural

 

JOptionPane对话框应用

 

JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。

一、JOptionPane应用举例
message
要置于对话框中的描述消息。在最常见的应用中,message 就是一个 StringString 常量。不过,此参数的类型实际上是 Object。其解释依赖于其类型:
正如API文档中所描述的,用来描述消息的对象是个Object类型,除了常用的String类型提示消息,我们也可以使用自定的组件。

举个栗子

    在对话框中加个checkBox选项。


        JCheckBox checkBox = new JCheckBox();
        JPanel downPanel 
= new JPanel();
        downPanel.add( checkBox );
        downPanel.add( 
new JLabel( "Also do something" ) );
        JPanel panel 
= new JPanel( new BorderLayout() );
        panel.add( 
new JLabel( "Question?" ), BorderLayout.CENTER );
        panel.add( downPanel, BorderLayout.SOUTH );

        
if( JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog( null, panel, "title", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE ) ){
            System.out.println( checkBox.isSelected() );
        }

 


    还可以再加强一下,在标题中设置图标。



        JCheckBox checkBox = new JCheckBox();
        JPanel downPanel 
= new JPanel();
        downPanel.add( checkBox );
        downPanel.add( 
new JLabel( "Also do something" ) );
        JPanel panel 
= new JPanel( new BorderLayout() );
        panel.add( 
new JLabel( "Question?" ), BorderLayout.CENTER );
        panel.add( downPanel, BorderLayout.SOUTH );

        JOptionPane pane 
= new JOptionPane( panel, JOptionPane.WARNING_MESSAGE, JOptionPane.OK_CANCEL_OPTION );
        JDialog dialog 
= pane.createDialog( null"title " );
        dialog.setIconImage( ( (ImageIconUIResource)UIManager.getIcon( 
"OptionPane.warningIcon" ) ).getImage() );
        dialog.show();
        
if( JOptionPane.YES_OPTION == (Integer)pane.getValue() ){
            System.out.println( checkBox.isSelected() );
        }


二、获取JOptionPane中的图标资源


看上了JOptionPane中自带的那几个图标了,找了下获取方式。


UIManager.getIcon( "propertyString" )


JOptionPane的消息类型帮助确定要在选项面板的图标区域显示的默认图标。对于普通的消息,并没图标。其余的四个图标-用于信息,问题,警告以及错误消息-显示在表9-4中。

Swing_table_9_6

表9-5中显示了JOptionPane可用的UIResource相关属性的集合。对于JOptionPane组件,有56种不同的属性。

 

Swing_table_9_7_1Swing_table_9_7_2Swing_table_9_7_3Swing_table_9_7_4

 




三、 API部分文档描述.

----------------------------------------------------------------------------------------------------------------------------------------------

JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。有关使用 JOptionPane 的信息,请参见 The Java Tutorial 中的 How to Make Dialogs 一节。

虽然由于方法数多使 JOptionPane 类可能显得复杂,但几乎所有此类的使用都是对下列静态 showXxxDialog 方法之一的单行调用:

方法名 描述
showConfirmDialog 询问一个确认问题,如 yes/no/cancel。
showInputDialog 提示要求某些输入。
showMessageDialog 告知用户某事已发生。
showOptionDialog 上述三项的大统一 (Grand Unification)。
所有这些方法还可能以 showInternalXXX 风格出现,该风格使用内部窗体来保存对话框(请参见 JInternalFrame)。此外还定义了多种便捷方法,这些方法重载那些基本方法,使用不同的参数列表。

所有对话框都是有模式的。在用户交互完成之前,每个 showXxxDialog 方法都一直阻塞调用者。

图标 消息
输入值
选项按钮
这些对话框的基本外形通常与右图类似,尽管各种外观从根本上决定着最后结果。尤其是,外观可以调整布局以适应选项窗格的 ComponentOrientation 属性。

参数:
这些方法的参数遵守一致的模式:

parentComponent
定义作为此对话框的父对话框的 Component。通过两种方式使用此参数:包含它的 Frame 可以用作对话框的父 Frame,在对话框的位置使用其屏幕坐标。一般情况下,将对话框紧靠组件置于其之下。此参数可以为 null,在这种情况下,默认的 Frame 用作父级,并且对话框将居中位于屏幕上(取决于 L&F)。
message
要置于对话框中的描述消息。在最常见的应用中,message 就是一个 StringString 常量。不过,此参数的类型实际上是 Object。其解释依赖于其类型:
Object[]
对象数组被解释为在纵向堆栈中排列的一系列 message(每个对象一个)。解释是递归式的,即根据其类型解释数组中的每个对象。
Component
Component 在对话框中显示。
Icon
Icon 被包装在 JLabel 中并在对话框中显示。
其他
该对象通过调用其 toString 方法被转换为 String。结果被包装在 JLabel 中显示。
messageType
定义 message 的样式。外观管理器根据此值对对话框进行不同地布置,并且通常提供默认图标。可能的值为:
  • ERROR_MESSAGE
  • INFORMATION_MESSAGE
  • WARNING_MESSAGE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE
optionType
定义在对话框的底部显示的选项按钮的集合:
  • DEFAULT_OPTION
  • YES_NO_OPTION
  • YES_NO_CANCEL_OPTION
  • OK_CANCEL_OPTION
用户并非仅限于使用此选项按钮集合。使用 options 参数可以提供想使用的任何按钮。
options
将在对话框底部显示的选项按钮集合的更详细描述。options 参数的常规值是 String 数组,但是参数类型是 Object 数组。根据对象的以下类型为每个对象创建一个按钮:
Component
该组件被直接添加到按钮行中。
Icon
创建的 JButton 以此图标作为其标签。
其他
Object 通过使用其 toString 方法转换为字符串,并使用该结果作为 JButton 的标签。
icon
要置于对话框中的装饰性图标。图标的默认值由 messageType 参数确定。
title
对话框的标题。
initialValue
默认选择(输入值)。

当选择更改时,调用生成 PropertyChangeEventsetValue 方法。

如果已为所有输入 setWantsInput 配置了 JOptionPane,则还可以侦听绑定属性 JOptionPane.INPUT_VALUE_PROPERTY,以确定何时用户输入或选择了值。

当其中一个 showXxxDialog 方法返回整数时,可能的值为:

  • YES_OPTION
  • NO_OPTION
  • CANCEL_OPTION
  • OK_OPTION
  • CLOSED_OPTION

posted on 2012-12-12 15:03 此号已被删 阅读(2202) 评论(0)  编辑  收藏 所属分类: JAVA


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(8)

随笔分类(83)

随笔档案(78)

文章档案(2)

相册

收藏夹(7)

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜