3

我正在使用 netbeans 作为我的 IDE 创建一个 JDialog。我在netbeans中将大小更改为我想要的大小,我可以看到它更新了prefferredSize,但是当我运行我的应用程序时,它看起来像这样:

在此处输入图像描述

我还需要设置其他东西来设置大小吗?或者至少使其尺寸合适,以便我可以看到控件...(上面有 6 个)

4

4 回答 4

4

在表单设计器中切换到属性窗口的“代码”选项卡。有一个名为“表单大小策略”的属性。

这默认为 pack() ,这意味着对话框的大小被调整为与包含的组件需要的一样大。有关更多详细信息,请阅读 pack() 方法的 Javadocs。在不知道您在对话框中放置了哪些组件的情况下,很难说出为什么 pack() 不适合您。

如果您将其更改为“生成调整大小代码”,对话框将坚持您定义的大小:

在此处输入图像描述

于 2012-05-05T07:20:52.290 回答
3

我猜您可能正在使用 Netbeans GUI 构建器,可能的解决方案/建议,

  1. 你可能会失踪 dialog.pack();
  2. 右键单击 jDialog > Properties > (Set) minimumSize
  3. (建议)放弃 GUI Builder,学习 Java 而不是学习 IDE!

顺便说一句,这对我有用,

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class DialogsTest {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                JFrame f = new JFrame();

                f.setSize(400, 300);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);

                JPanel message = new JPanel();
                message.add(new JLabel("This is a dialog :)"));
                JDialog dialog = new JDialog(f, "Dialog");

                dialog.setContentPane(message);
                dialog.pack();
                dialog.setLocationRelativeTo(f);
                dialog.setVisible(true);
            }
        });
    }
}
于 2012-05-05T06:43:02.347 回答
1

从https://netbeans.org/downloads/下载最新的 Netbean IDE

并设置以下属性:Jframe 属性

祝你好运!

于 2015-12-10T11:48:23.787 回答
0

请改用该setSize()方法。出于某种原因,这有效,但setPreferredSize()没有(至少不像预期的那样)。

顺便说一句,通常建议不要在组件上设置特定大小。

于 2012-05-05T04:37:02.587 回答