kooyee ‘s blog

          開源軟件, 眾人努力的結晶, 全人類的共同財富
          posts - 103, comments - 55, trackbacks - 0, articles - 66
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          『Dialog』利用Java Swing設計標準對話框

          Posted on 2008-02-08 20:19 kooyee 閱讀(966) 評論(0)  編輯  收藏 所屬分類: Swing/Applet
          Swing中提供了JOptionPane類來實現類似Windows平臺下的MessageBox的功能,同樣在Java中也有,利用JOptionPane類中的各個static方法來生成各種標準的對話框,實現顯示出信息、提出問題、警告、用戶輸入參數等功能。這些對話框都是模式對話框。

            ConfirmDialog --- 確認對話框,提出問題,然后由用戶自己來確認(按"Yes"或"No"按鈕)

            InputDialog --- 提示輸入文本

            MessageDialog --- 顯示信息

            OptionDialog -- 組合其它三個對話框類型。

            這四個對話框可以采用showXXXDialog()來顯示,如showConfirmDialog()顯示確認對話框、showInputDialog()顯示輸入文本對話框、showMessageDialog()顯示信息對話框、showOptionDialog()顯示選擇性的對話框。它們所使用的參數說明如下:

            ① ParentComponent:指示對話框的父窗口對象,一般為當前窗口。也可以為null即采用缺省的Frame作為父窗口,此時對話框將設置在屏幕的正中。

            ② message:指示要在對話框內顯示的描述性的文字

            ③ String title:標題條文字串。

            ④ Component:在對話框內要顯示的組件(如按鈕)

            ⑤ Icon:在對話框內要顯示的圖標

            ⑥ messageType:一般可以為如下的值ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE、

            ⑦ optionType:它決定在對話框的底部所要顯示的按鈕選項。一般可以為DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION。

            使用實例:

            (1) 顯示MessageDialog

          JOptionPane.showMessageDialog(null"在對話框內顯示的描述性的文字""標題條文字串", JOptionPane.ERROR_MESSAGE);

            (2) 顯示ConfirmDialog

          JOptionPane.showConfirmDialog(null"choose one""choose one", JOptionPane.YES_NO_OPTION);
                      if (n == JOptionPane.YES_OPTION) {
                      setLabel("OK. Keep an eye on your wallet.");
                    else if (n == JOptionPane.NO_OPTION) {
                      setLabel("Whew! Good choice.");
                    else {
                      setLabel("It is your civic duty to cast your vote.");
                    }

            (3) 顯示OptionDialog:該種對話框可以由用戶自己來設置各個按鈕的個數并返回用戶點擊各個按鈕的序號(從0開始計數)

          Object[] options = {"確定","取消","幫助"};
          int response=JOptionPane.showOptionDialog(this"這是個選項對話框,用戶可以選擇自己的按鈕的個數""選項對話框標題",JOptionPane.YES_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
          if(response==0)
          {
           
          this.setTitle("您按下了第OK按鈕 ");
          }

          else if(response==1)
          {
           
          this.setTitle("您按下了第Cancel按鈕 ");
          }

          else if(response==2)
          {
           
          this.setTitle("您按下了第Help按鈕 ");
          }
           
           

           

            (4) 顯示InputDialog 以便讓用戶進行輸入

            

          String inputValue = JOptionPane.showInputDialog("Please input a value"); 

           

            (5) 顯示InputDialog 以便讓用戶進行選擇地輸入

          Object[] possibleValues = "First""Second""Third" }//用戶的選擇項目
          Object selectedValue = JOptionPane.showInputDialog(null"Choose one""Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
          setTitle(
          "您按下了"+(String)selectedValue+"項目");
          主站蜘蛛池模板: 渭南市| 黄山市| 故城县| 双流县| 平度市| 柳河县| 米易县| 梁山县| 阿拉善左旗| 临颍县| 津市市| 阜平县| 祁连县| 新建县| 佛学| 邵阳县| 方山县| 南岸区| 南安市| 辽宁省| 两当县| 濮阳市| 甘孜县| 岑巩县| 沈丘县| 水富县| 玉田县| 翼城县| 中阳县| 调兵山市| 临安市| 黔江区| 万州区| 丹江口市| 望谟县| 宁国市| 东丽区| 巫溪县| 樟树市| 洛浦县| 上蔡县|