也发布在coderanch.com上。
import javax.swing.*;
public class Tmp {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JTextField());
frame.setVisible(true);
}
});
}
}
有关调整此JFrame大小的问题。
这是程序启动后的默认外观:
当我尝试像图片一样调整大小时,并将鼠标指针移动到屏幕顶部时(如下图所示),我会看到以下内容:
当我释放鼠标时,框架会调整大小,但没有响应。上面有一个黑色的空白处。它看起来是这样的:
这发生在Windows8.1和java 1.7.0_45上(也发生在Windows7上)。
在Windows中使用其他方法调整框架大小时不会出现此问题。
只有当系统设置中的“拖动时显示窗口内容”处于活动状态时,才会发生这种情况。
为什么会发生这种情况?
如何解决这个问题?
发布于 2014-09-19 16:56:40
这听起来很像here报告的bug。应该在JDK8和9中修复,根据问题跟踪器的说法,错误修复被反向移植到版本7u80。
发布于 2013-12-14 12:45:05
我用的是装有jdk1.7.0_25的Windows7,你的代码对我来说没问题
我有3个解决方案:
1-我认为甲骨文在45的更新中是错误的你可以用25替换45
2- java中的任何图形用户界面都使用来自OS的图形用户界面,可能windows 8还不兼容java 7
3-您可以添加一个监听器来调整帧的大小,并在监听器的主体中调用repaint();,或者将size设置为实际大小
此外,您还可以尝试使用setUndecorated(true)和自定义鼠标侦听器来实现帧大小调整
https://stackoverflow.com/questions/20583254
复制相似问题