由于默认LookAndFeel中的字体太小,我使用了几行代码将其设置为Nimbus,并且我的JOptionPane显示大小不同的Yes和No按钮。 Yes仍然很小,而No设置为我指定的大小。任何人都知道为什么或如何解决它?
public static void setUIFont(Font a){
FontUIResource ax=new FontUIResource(a);
javax.swing.UIManager.put("OptionPane.messageFont", ax);
javax.swing.UIManager.put("OptionPane.buttonFont", ax);
javax.swing.UIManager.put("OptionPane.Font", ax);
javax.swing.UIManager.put("InternalFrame.titleFont", ax);
javax.swing.UIManager.put("TextField.font", ax);
javax.swing.UIManager.put("ComboBox.font", ax);
}
...
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
class UseNimBus extends SwingInvoker{
public void run(){
JDialog.setDefaultLookAndFeelDecorated(true);
setUIFont(new FontUIResource(new Font(ufont, Font.PLAIN, 20)));
}
}
(new UseNimBus()).execute();// just invokeLater()
以下行显示了选项窗格,但它具有不同大小的Yes和No。这是正常的还是只是我的问题?
inputValuex=JOptionPane.showConfirmDialog(
myWin, "Are you exiting?", "You clicked X", JOptionPane.YES_NO_OPTION);
更新
还是行不通。我尝试使用代码
javax.swing.UIManager.put("OptionPane.isYesLast", true);
更改“是”按钮的位置,但没有任何效果。我只是想看看如何设置这些值,例如布尔值。
另外,我什至列出了所有UIManager.getDefaults()
包含optionpane或button的键,它们的字体大小都设置为 20。Yes按钮仍然是较小的字体。