2013-08-07 1 views
0

Вот код:Как изменить размер кнопок jdialog?

JOptionPane pane = new JOptionPane(findArray, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION); 
pane.setOptions(new Object[]{findPreviousButton, findNextButton}); 
final JDialog dialog = pane.createDialog(myJFrame, "Find"); 
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); 
dialog.setVisible(true); 

findArray состоит из JLabel findLabel и JTextField FindField. myJFrame - это JFrame. findPreviousButton и findNextButton - это два JButtons, я заменяю кнопки «ОК» и «Отмена» по умолчанию. Оба имеют пользовательские значки и текст. Окно JDialog делает свои значки определенным размером, заставляя их выглядеть неровными. Как изменить размер кнопок так, чтобы ширина была равна 60, а высота 30? Метод .setSize (целое, целое) не работает, и ни один не делает .setBounds (интермедиат, Int, Int, Int)

+1

'Окно JDialog делает их значки определенного размера заставляя их выглядеть pixelated.' - отлично работает для меня с помощью JDK7 на Windows 7. Кнопки являются размер значков плюс стандартная отмена кнопок. – camickr

+0

Прошу прощения за ваше право, я попытался сравнить их поближе, и они имеют одинаковый размер, изображение просто меньше:/это смущает – Scott

ответ

0

Вы, вероятно, хотите используйте .setPreferredSize() вместо .setSize(). Обычно, когда я хочу переопределить натуральный размер компонента (то есть, как он выложен любым менеджером макетов, который я использую), я буду использовать его вместе с настройкой минимального размера. Если диспетчер компоновки изменяет естественный размер компонента, возможно, лучшим вариантом будет preferredSize(). Там хорошая StackOverflow дискуссия о различиях здесь:

Java: Difference between the setPreferredSize() and setSize() methods in components

+0

Это помогло, но оно все еще не было измените размер значка, просто обрезайте его. – Scott