我想將JOptionPane.showInputDialog
中的OK和CANCEL按鈕的文本設置爲我自己的字符串。如何更改JOptionPane.showInputDialog中按鈕的默認文本
有一種方法可以在JOptionPane.showOptionDialog
中更改按鈕的文字,但我找不到在showInputDialog
中更改它的方法。
我想將JOptionPane.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"});
搜索 「自定義文本的JOptionPane」 在谷歌透露了這一答案 https://stackoverflow.com/a/8763349/975959
下面的代碼應該會出現一個對話框,您可以指定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
,如果你不希望它只是一個單一的使用inputdialog,這些行創建對話框
UIManager.put("OptionPane.cancelButtonText", "nope");
UIManager.put("OptionPane.okButtonText", "yup");
之前添加210
其中'yup'和'nope'是你想要顯示的文字
這也非常有幫助!謝謝! –
非常感謝!正是我正在尋找...! –