Swing窗口Linux下不支持最大化问题

Swing窗口Linux下不支持最大化问题

摘自:https://www.linuxidc.com/Linux/2009-06/20519.htm

[日期:2009-06-17] 来源:www.quanlei.com  作者:quanlei [字体:  ]
 
 

由于最近一直在Linux下工作,今天遇到了Swing窗口不能最大化的问题,刚开始始终不得其解,最后在同事Windows平台下测试才发现原来是我用Linux的原因。

我们设置Swing窗口最大化一般有三种方法

方法一:
JFrame frame =new JFrame();
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setLocation(0,0);
frame.show();
方法二:
(JDK1.4以上)
JFrame frame =new JFrame();
frame.show();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
方法三:
JFrame frame=new JFrame();
frame.show();
GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(). setFullScreenWindow(frame);

其中方法一和方法三基本上类似,并不是真正的最大化,当你用这俩方法后,最大化按钮一样是可以点的,并且最大化后可能会遮住部分界面。
方法二是比较正统的用法,可问题是它在Linux下不支持,并且是一个已知的Bug(Bug ID:6365898), 官方解释是:

“Please note that the bug has been fixed in the JDK 7 b14 (see the Release
Fixed field above),
which means that the JDK 6 still contains this bug. And currently we don't
plan to fix it in the JDK 6.“所以要兼容只能取舍了,Windows平台用方法二,Liunx平台暂时只能用方法一或者方法三了,
不过可以在方法一和方法三的基础上做些调整,比如高度上减去任务栏的高度和宽度上减去滚动条的宽度,这样就稍微好点了。

posted @   LiuYanYGZ  阅读(328)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示