14

JOptionPane.showInputDialog OKボタンとCANCELボタンのテキストを自分の文字列 に設定したい。

でボタンのテキストを変更する方法はありますが、でJOptionPane.showOptionDialog変更する方法が見つかりませんでしたshowInputDialog

4

5 に答える 5

20

単一のinputDialogだけに使用したくない場合は、ダイアログを作成する前にこれらの行を追加してください

UIManager.put("OptionPane.cancelButtonText", "nope");
UIManager.put("OptionPane.okButtonText", "yup");

ここで、「yup」と「nope」は表示するテキストです

于 2013-01-19T01:18:23.487 に答える
13

以下のコードでは、ダイアログが表示され、ボタンのテキストを で指定できますObject[]

Object[] choices = {"One", "Two"};
Object defaultChoice = choices[0];
JOptionPane.showOptionDialog(this,
             "Select one of the values",
             "Title message",
             JOptionPane.YES_NO_OPTION,
             JOptionPane.QUESTION_MESSAGE,
             null,
             choices,
             defaultChoice);

また、Oracle サイトの Java チュートリアルにも目を通しておいてください。チュートリアルのこのリンクで解決策を見つけましたhttp://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#create

于 2013-01-18T21:54:30.260 に答える
9

カスタムボタンテキストを含むJOptionPane.showInputDialogが必要な場合は、JOptionPaneを拡張できます。

public class JEnhancedOptionPane extends JOptionPane {
    public static String showInputDialog(final Object message, final Object[] options)
            throws HeadlessException {
        final JOptionPane pane = new JOptionPane(message, QUESTION_MESSAGE,
                                                 OK_CANCEL_OPTION, null,
                                                 options, null);
        pane.setWantsInput(true);
        pane.setComponentOrientation((getRootFrame()).getComponentOrientation());
        pane.setMessageType(QUESTION_MESSAGE);
        pane.selectInitialValue();
        final String title = UIManager.getString("OptionPane.inputDialogTitle", null);
        final JDialog dialog = pane.createDialog(null, title);
        dialog.setVisible(true);
        dialog.dispose();
        final Object value = pane.getInputValue();
        return (value == UNINITIALIZED_VALUE) ? null : (String) value;
    }
}

あなたはそれをこのように呼ぶことができます:

JEnhancedOptionPane.showInputDialog("Number:", new Object[]{"Yes", "No"});
于 2013-01-18T21:55:46.423 に答える
3

ダイアログの作成方法: ボタンテキストのカスタマイズ を参照してください。

于 2013-01-18T21:22:04.373 に答える
1

Google で「カスタム テキスト JOptionPane」を検索すると、この回答が明らかになりました https://stackoverflow.com/a/8763349/975959

于 2013-01-18T21:22:03.217 に答える