有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java设置JFrame中可见空间的大小

这个问题我以前遇到过几次,最后我试图解决它,但我找不到正确的解决方案。我有一个简单的JFrame程序。基本JFrame代码如下所示:

JFrame frame = new JFrame("halp");  
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,500);
    frame.setResizable(false);
    frame.setVisible(true);

以下是我试图实现的目标:

JFrame.

如您所见,顶部栏和窗口边框占用了空间。解决这个问题的一种方法是增加窗口的大小,但这一点也不整洁,而且并非每个系统都有相同的窗口边框大小

我已经做了研究,并尝试了我在先前提问中发现的一些事情:

  • frame.pack()。这个方法只将窗口设置为最小大小,就好像我根本没有设置大小一样
  • frame.getContentPane().setSize(500,500);。窗口的边框仍按框架大小计算
  • frame.setPreferredSize(new Dimension(500, 500));JPanel.setPreferredSize(new Dimension(500, 500));。帧变为最小大小,如frame.pack()

我试着把这些方法结合起来,但似乎没有任何效果

我错过了什么?JFrame还有其他方面需要添加吗?这是BlueJ的不兼容问题吗


共 (1) 个答案

  1. # 1 楼答案

    frame.getContentPane().setPreferredSize(new Dimension(500,500));
    

    接着是

    frame.pack();
    

    应该能解决你的问题