2016-04-09 4 views
0

文字列の値を返すgetDateメソッドがあります。私はカスタムボタンを追加したいと思いますが、EclipseではStringの代わりにintにメソッドの型を変更するように指示しているので、できません。私はここで何ができますか?JOptionPaneカスタムボタンで文字列を返す

public String getDate(String info){ 
      return JOptionPane.showInputDialog(null, info, "Date insertion", JOptionPane.PLAIN_MESSAGE); 
    } 

これは次のようにこのInputDialogがどのように見えるかです:私は、このダイアログはのは、はい/いいえ/ボタンを終了し、私が正しく理解していれば、このようなコードは動作するはず言わせて持つようにしたい

IMAGE

public String getDate(String info){ 
     return JOptionPane.showOptionDialog(null,info, 
       "Date insertion", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,null,options, 
       null); 
} 

しかし、それは「int型からStringに変換することはできません」と言うと、私はそれがint型ではない文字列を返す必要があります。

+0

'JOptionPane.showOptionDialog'は選択されたオプションによってint 0,1,2を返します。 –

+0

しかし私があなたに示した最初のコードはStringを返します。 – programmer3000

+0

私はあなたの質問をはっきりと理解していませんが、最初の方法は正しい2番目の方法は正しくありません。 –

答えて

0

JOptionPane.showOptionDialog()を呼び出すクラスに返す整数を取得し、それを使用して返す文字列を選択します。 showOptionDialog()メソッドを変更して文字列を返すことはできませんが、返されるintに基づいて、呼び出し元が取得する文字列を決めることができます。カスタムダイアログは必要ありません。

public String getDate(String info) 
{ 
    int[] optionStrings = { "Yes", "No", "Cancel" }; 
    int option = JOptionPane.showOptionDialog(null, info, "Date insertion", 
         JOptionPane.YES_NO_CANCEL_OPTION, 
         JOptionPane.QUESTION_MESSAGE,null,options, 
         null); 
    return optionStrings[option]; 
} 
関連する問題