我有一个 JFrame,已使用 setBounds 设置为特定大小。然而,这使得窗口(包括边框)达到这个尺寸(事后看来这是完全有道理的)。但我想要的是窗口的大小,例如 800x600plus边界。这很重要,因为我正在从 JFrame 的 BufferStategy 绘制到 Graphics 对象,但当使用小于 20 的 y 值时,我一直在标题栏下方绘制。我想象不同的操作系统(甚至不同的操作系统设置)也可以有不同厚度的边框。我以为边框只是后来钉在窗户上的,但事实似乎并非如此。
那么,无论边框的厚度如何,如何使边框内的空间达到一定的大小呢?另外,为了让我的生活更轻松,如何使点 0, 0 成为框架可视内容的左上角?
顺便说一句,使用 setUndecorated 会带来它自己的问题,所以我现在不尝试这样做。
- 设置内容窗格的首选大小。
- 装好框架。
- 任务完成。
E.G.
import java.awt.*;
import javax.swing.*;
class FixedSizeContent {
public static void main(String[] args) {
SwingUtilities.invokeLater( new Runnable() {
public void run() {
JFrame f = new JFrame("Fixed size content");
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Container c = f.getContentPane();
c.setBackground(Color.YELLOW);
// adjust to need.
Dimension d = new Dimension(400,40);
c.setPreferredSize(d);
f.setResizable(false);
f.pack();
f.setVisible(true);
}
});
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)