【发布时间】:2021-08-03 06:55:46
【问题描述】:
我正在为 Mac 和 Win10 开发一款教育应用。
我的画布窗口继承自 JFrame,并声明为固定大小:
setSize(1250,732);
setMinimumSize(getSize()); //fixed window size
setMaximumSize(getSize());
窗口的交互内容是在一个 JComponent 后代中完成的,我将其添加到框架中:
getContentPane().add(new CartesianCanvas());
CartesianCanvas 的大小与其父 JFrame 相同。
在 Win10 下启动时窗口被剪裁——右侧和底部边缘缺少大约 15 个像素的宽度和高度。什么给了?
【问题讨论】:
-
"declared to a fixed size" 这是错误的尺寸(除了您的机器、您使用的 PLAF 和 Java 版本之外的任何设备。 . 事实上,我只是添加我的复制/粘贴注释。在弄清楚如何布局组件后,调用
pack()以获得合适的大小。这是注释: Java GUI 必须工作不同的操作系统、屏幕尺寸、屏幕分辨率等。在不同的语言环境中使用不同的 PLAF。因此,它们不利于像素完美的布局。而是使用布局管理器,或者.. -
..combinations of them 以及 white space 的布局填充和边框。
标签: java swing windows-10 jframe jcomponent