Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何调整jdialog按钮的大小?_Java_Swing_Resize_Jbutton_Jdialog - Fatal编程技术网

Java 如何调整jdialog按钮的大小?

Java 如何调整jdialog按钮的大小?,java,swing,resize,jbutton,jdialog,Java,Swing,Resize,Jbutton,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.setDe

代码如下:

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是我将默认的“OK”和“Cancel”按钮替换为的两个JButton。两者都有自定义图标,没有文本。JDialog窗口将图标设置为特定大小,使其看起来像像素。如何调整按钮的大小,使其宽度为60,高度为30?方法.setSize(int,int)不起作用。setBounds(int,int,int,int,int)也不起作用。

调整按钮边距应有助于:

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


JDialog窗口正在将其图标设置为特定大小,使其看起来像像素。
在Windows 7上使用JDK7对我来说效果很好。按钮是图标的大小加上标准的按钮填充。很抱歉,你的权利,我试着比较它们,它们的大小是一样的,图片的质量就差了:/这让尝试的人尴尬,这不是我需要的想法,这很有帮助,但它仍然没有改变图标的大小,只是裁剪了它。