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

标签 java swing 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()。设置(500,500); 。窗口的边框仍然计入框架大小。
  • frame.setPreferredSize(new Dimension(500, 500));JPanel.setPreferredSize(new Dimension(500, 500));。框架进入最小尺寸,与 frame.pack() 一样。

我尝试结合这些方法,但似乎没有任何效果。

我错过了什么?我还需要添加 JFrame 的另一个方面吗?是BlueJ不兼容的问题吗?

最佳答案

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

后跟

frame.pack();

应该可以解决你的问题。

关于java - 设置 JFrame 中可见空间的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56087658/

相关文章:

java - 在Android上使用GSON解析JSON数据

java - 正则表达式 - 否定特定的字符串/数字序列 [java]

JavaFX如何计算打字错误

java - 错误: local variable referenced from inner class must be final or effective final

java - Web.xml(tomcat) 与 ApplicationContext.xml(spring) 哪个先加载?

java - 如何在捕获 JPanel 时仅捕获选定的组件图像?

java - MVC设计问题

java - 双击图标时关闭 JFrame

java - 在 Netbeans 7.0 中向 JFrame 添加背景图像时出现问题

java - JMenuBar 到 JFrame