以下是代码:
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我用的是替换默认的“OK”和“Cancel”按钮。两者都有自定义图标,没有文字。 JDialog窗口使它们的图标具有一定的大小,使它们看起来像素化。如何调整按钮的大小,使宽度为60,高度为30?方法.setSize(int,int)不起作用,也没有.setBounds(int,int,int,int)
答案 0 :(得分:0)
调整按钮边距应有助于: http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#setMargin(java.awt.Insets)
答案 1 :(得分:0)
您可能希望使用.setPreferredSize()
代替.setSize()
。通常,当我想要覆盖组件的自然大小(意味着我使用的任何布局管理器如何布置它)时,我将使用它同时将最小大小设置为好。如果布局管理器正在修改组件的自然大小,preferredSize()
可能是更好的选择。关于这里的差异,有一个很好的stackoverflow讨论:
Java: Difference between the setPreferredSize() and setSize() methods in components