0

这是代码:

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 是我要替换默认的“确定”和“取消”按钮的两个 JButton。两者都有自定义图标,没有文字。JDialog 窗口使它们的图标具有一定的大小,使它们看起来像素化。如何调整按钮的大小,使宽度为 60,高度为 30?方法 .setSize(int, int) 不起作用, .setBounds(int, int, int, int) 也不起作用

4

2 回答 2

0

调整按钮边距应该有帮助: http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setMargin(java.awt.Insets)

于 2013-08-07T19:26:02.067 回答
0

您可能想要使用.setPreferredSize()而不是.setSize(). 通常,当我想覆盖组件的自然大小(即我使用的任何布局管理器如何布局它)时,我会使用它以及设置最小大小。如果布局管理器正在修改组件的自然大小,则preferredSize()可能是更好的选择。关于这里的差异有一个很好的stackoverflow讨论:

Java:组件中的 setPreferredSize() 和 setSize() 方法之间的区别

于 2013-08-07T20:08:15.043 回答