如何更改JOptionPane.showMessageDialog中按钮的默认文本

时间:2014-12-09 14:42:14

标签: java joptionpane

我在程序中使用showMessageDialog。我想改变" OK"的文字。代码中的按钮。但是,我无法找到如何做到这一点。

注意:我的程序中有语言选项,当用户更改语言时我需要更改文本。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

这将更改所有消息对话框的文本:

UIManager.put("OptionPane.cancelButtonText", cancelText);
UIManager.put("OptionPane.okButtonText", okText);

答案 1 :(得分:0)

或者你可以这样使用,

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"}); //here you can change to any text

实际上这是从http://stackoverflow.com/questions/14407804/how-to-change-the-default-text-of-buttons-in-joptionpane-showinputdialog

取的