kooyee ‘s blog

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

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

          Posted on 2008-02-08 20:19 kooyee 閱讀(969) 評論(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+"項目");
          主站蜘蛛池模板: 集安市| 花莲县| 沙河市| 遵义市| 博野县| 西和县| 汝南县| 徐州市| 陇西县| 五原县| 济宁市| 石狮市| 淮南市| 监利县| 孝感市| 色达县| 东源县| 聂荣县| 托里县| 新竹县| 定兴县| 岑巩县| 三门峡市| 宜都市| 敦化市| 阳高县| 宝兴县| 突泉县| 洪雅县| 乐陵市| 岢岚县| 株洲县| 临泽县| 万载县| 西青区| 石台县| 砚山县| 罗甸县| 高台县| 加查县| 五原县|