您可以通过以下几种方式通过鼠标拖动来调整 JFrame 的大小:
- 您可以调整它的高度(顶部/底部边缘)
- 您可以调整它的宽度(左/右边缘)
- 您可以调整两者的大小(在角落)
- 您可以通过将整个窗口拖动到显示器顶部边缘来最大化它
- 您可以通过将其顶部/底部边缘拖动到显示器的顶部/底部边缘来最大化其高度
除了数字 5 之外,我的程序正在对每一个动作进行重新绘制。
这是为什么?
这可能是我程序中的错误吗?似乎并非如此。我不知道我会在哪里为这种特殊情况提出重绘请求......似乎JFrame本身应该在每次调整大小后在它的contentPane上调用重绘,对吧?
它在 Java 本身的 JFrame 类中闻起来像一个错误。
SSCCE:
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
class Gui
{
Gui()
{
JFrame masterWindow = new JFrame("My very own SSCCE");
masterWindow.setSize(1100, 100);
masterWindow.setLocationRelativeTo(null);
masterWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
masterWindow.setVisible(true);
}
}
class Main
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new Gui();
}
});
}
}
抓住 JFrame 的顶部边缘并将其拖动到屏幕的顶部边缘并释放。底部延伸部分应该是黑色的。如果你然后最大化它,它应该是灰色的。
我仍然说它是 Java 或 Windows 错误。