Недавно я работал над проектом Swing с Nimbus Look and Feel. Я хочу, чтобы все кнопки в JOptionPane имели одинаковый размер, но тщетно.JOptionPane размер кнопки (Nimbus LAF)
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-подобный диалог?
Спасибо! Он работает сейчас =) – tony200910041
Как установить размер в пикселях? –
@EthanJCRubik, если необходимо, вы расширяете jbutton и переопределяете getpreferedsize –