Swing/YesLastOptionPane のバックアップの現在との差分(No.4)
- category: swing folder: YesLastOptionPane title: JOptionPaneのYesボタンがCancelボタンなどの中で末尾に配置されるよう設定する tags: [JOptionPane] author: aterai pubdate: 2018-01-15T14:42:52+09:00 description: JOptionPaneのYesボタンがCancelボタンなどの後に追加されて一番右に配置されるよう設定します。 image: https://drive.google.com/uc?id=12DSo9IIp_Ah9F2FlvkEjjREEwZXyNNLWhA
概要
JOptionPane
のYes
ボタンがCancel
ボタンなどの後に追加されて一番右に配置されるよう設定します。
Screenshot
Advertisement
サンプルコード
#spandel
UIManager.put("OptionPane.isYesLast", Boolean.TRUE);
#spanend
#spanadd
private static final String KEY = "OptionPane.isYesLast";
#spanend
#spanadd
#spanend
#spanadd
JButton defaultButton = new JButton(KEY + ": false(default)");
#spanend
#spanadd
defaultButton.addActionListener(e -> {
#spanend
UIManager.put("OptionPane.isYesLast", Boolean.FALSE);
String str = JOptionPane.showInputDialog(getRootPane(), KEY + ": false");
log.setText(str);
#spanadd
});
#spanend
#spanadd
#spanend
#spanadd
JButton yesLastButton = new JButton(KEY + ": true");
#spanend
#spanadd
yesLastButton.addActionListener(e -> {
#spanend
UIManager.put("OptionPane.isYesLast", Boolean.TRUE);
String str = JOptionPane.showInputDialog(getRootPane(), KEY + ": true");
log.setText(str);
#spanadd
});
#spanend
View in GitHub: Java, Kotlin解説
OptionPane.isYesLast: false(default)
-
WindowsLookAndFeel
でのデフォルトで、Yes
ボタン(YES_OPTION
,OK_OPTION
)が各オプションボタンの中で先頭(左端)に配置される -
JOptionPane#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)
が設定されている場合、先頭は右端になる -
WindowsLookAndFeel
でのデフォルトでYes
ボタン(YES_OPTION
)やOK
ボタン(OK_OPTION
)を各オプションボタンの中で先頭(左端)に配置する -
JOptionPane#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)
が設定されている場合、先頭は右端に反転する
-
OptionPane.isYesLast: true
-
Yes
ボタンが各オプションボタンの中で末尾(右端)に配置される -
Yes
ボタンを各オプションボタンの中で末尾(右端)に配置する MotifLookAndFeel
やNimbusLookAndFeel
でもこの設定は有効-
JOptionPane#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)
が設定されている場合、末尾は左端になる -
JOptionPane#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)
が設定されている場合、末尾は左端に反転する
-