Я хочу установить текст кнопок OK и CANCEL в JOptionPane.showInputDialog
к моим собственным струнам.
Есть способ изменить текст кнопок в JOptionPane.showOptionDialog
, но я не смог найти способ изменить его в showInputDialog
.
Я хочу установить текст кнопок OK и CANCEL в JOptionPane.showInputDialog
к моим собственным струнам.
Есть способ изменить текст кнопок в JOptionPane.showOptionDialog
, но я не смог найти способ изменить его в showInputDialog
.
Если вы хотите 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"});
если вы не хотите его использовать только для одного вводаDialog, добавьте эти строки до создания диалога
UIManager.put("OptionPane.cancelButtonText", "nope");
UIManager.put("OptionPane.okButtonText", "yup");
где 'yup' и 'nope' - это текст, который вы хотите отобразить
В приведенном ниже коде должен появиться диалог, и вы можете указать текст кнопки в 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);
Кроме того, обязательно ознакомьтесь с учебниками по Java на сайте Oracle. Я нашел решение по этой ссылке в учебниках http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#create
Поиск "пользовательского текста JOptionPane" в google показал этот ответ fooobar.com/questions/538974/...
См. Как сделать диалоговые окна: Пользовательский текст кнопки.