java - 打包后在 swing 中获取实际的 JFrame 大小

标签 java swing jframe jpanel dimensions

我创建了 JFrame 并将其大小设置为 800x600:

frame.setSize(800, 600);

然后我创建了 JPanel 并将其插入到我的 JFrame 中:

JPanel panel = new JPanel();
frame.add(panel, BorderLayout.CENTER);

但它的实际尺寸小于 JFrame 尺寸,因为标题栏和框架边框的高度在不同的操作系统中有所不同。


然后我又尝试了一种方法。

我创建了框架但没有设置它的大小。

然后我创建了 JPanel 并设置了它的首选大小:

panel.setPreferredSize(new Dimension(800, 600));

然后我将我的 Jframe 打包成:

frame.pack();

我现在如何确定实际的 JFrame 大小?

最佳答案

JFrame 大小可以通过以下方式确定:

frame.getSize()

Jframe 内容 Pane 大小(不包括标题栏和系统窗口边框)可以通过以下方式确定:

frame.getContentPane().getSize()

关于java - 打包后在 swing 中获取实际的 JFrame 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955999/

相关文章:

java - 图像未显示在 Java Swing GUI JFrame 中

java - 为什么我在 JavaFX 上得到 “Not on FX application thread”?

java - compareTo 方法不会编译

java - 使单击制表符正确更改插入符号

java - 为什么我的 JComponent 不绘制图像?

java - 为什么我在 Java BasicTableUI$Handler.setValueIsAdjusting 中不断收到 NullPointerException?

java - 在单独的线程中向 JFrame 添加组件

java - JFrame 图像在帧调整大小时显示

java - 在 Keycloak 中创建新用户期间未分配客户端角色

java - 流异常 : An invalid XML character (Unicode: 0x1a)