JOptionPane 按钮大小(Nimbus LAF)

JOptionPane button size (Nimbus LAF)

最近我一直在使用 Nimbus Look and Feel 开发一个 Swing 项目。我想将 JOptionPane 中的所有按钮设置为具有相同的大小,但徒劳无功。

import javax.swing.*;

public class NimbusTest {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {    
                try {
                    for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                        if (("Nimbus").equals(info.getName())) {
                            UIManager.setLookAndFeel(info.getClassName());
                            break;
                        }
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                UIManager.put("OptionPane.sameSizeButtons", true);    
                String[] options = new String[]{"--------------------","short","1"};
                int option = JOptionPane.showOptionDialog(null, "Nimbus problem", "JOptionPane", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);    
            }
        });
    }
}

我想要的是一个具有三个相同大小的按钮的 JOptionPane。但是,我得到了以下结果:

我的代码 UIManager.put("OptionPane.sameSizeButtons", true); 似乎被忽略了。如果我不想重新创建类似 JOptionPane 的对话框,我应该如何创建具有相同大小按钮的 JOptionPane?

替换

 UIManager.put("OptionPane.sameSizeButtons", true);

 UIManager.getLookAndFeelDefaults().put("OptionPane.sameSizeButtons", true);

而且效果很好