JOptionPaneのYesボタンがCancelボタンなどの中で末尾に配置されるよう設定する
Total: 2239
, Today: 1
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JOptionPane
のYes
ボタンがCancel
ボタンなどの後に追加されて一番右に配置されるよう設定します。
Screenshot
Advertisement
サンプルコード
private static final String KEY = "OptionPane.isYesLast";
JButton defaultButton = new JButton(KEY + ": false(default)");
defaultButton.addActionListener(e -> {
UIManager.put("OptionPane.isYesLast", Boolean.FALSE);
String str = JOptionPane.showInputDialog(getRootPane(), KEY + ": false");
log.setText(str);
});
JButton yesLastButton = new JButton(KEY + ": true");
yesLastButton.addActionListener(e -> {
UIManager.put("OptionPane.isYesLast", Boolean.TRUE);
String str = JOptionPane.showInputDialog(getRootPane(), KEY + ": true");
log.setText(str);
});
View in GitHub: Java, Kotlin解説
OptionPane.isYesLast: false(default)
WindowsLookAndFeel
でのデフォルトでYes
ボタン(YES_OPTION
)やOK
ボタン(OK_OPTION
)を各オプションボタンの中で先頭(左端)に配置するJOptionPane#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)
が設定されている場合、先頭は右端に反転する
OptionPane.isYesLast: true
Yes
ボタンを各オプションボタンの中で末尾(右端)に配置するMotifLookAndFeel
やNimbusLookAndFeel
でもこの設定は有効JOptionPane#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)
が設定されている場合、末尾は左端に反転する