`
ljl_xyf
  • 浏览: 630485 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

由于最近一直在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平台暂时只能用方法一或者方法三了,
不过可以在方法一和方法三的基础上做些调整,比如高度上减去任务栏的高度和宽度上减去滚动条的宽度,这样就稍微好点了。

分享到:
评论

相关推荐

    swing substance-6.0.jar 皮肤包.zip

    3. **动画效果**:Substance支持各种动态效果,如按钮按下时的下陷效果、窗口最小化和最大化时的过渡动画等,增强用户交互体验。 4. **组件增强**:Substance扩展了Swing组件的功能,例如,它为JTable提供了更丰富...

    2304489791721561.创建窗口.zip

    - **窗口事件**:窗口可以响应各种事件,如打开、关闭、最大化、最小化、移动和大小调整等,这些事件由操作系统或应用程序处理。 - **窗口层次**:在多任务环境中,窗口可以按照层级排列,前台窗口是用户当前操作...

    开发项目用SWING与RCP与SWT.JFACE的分析

    - **最大化利用本地UI库**:SWT尽可能地调用操作系统的原生图形组件API,仅在必要时才使用自己的模拟实现。 - **依赖JNI技术**:SWT通过JNI(Java Native Interface)技术来桥接Java代码与本地库,从而实现高效的...

    窗口悬浮置顶对话框

    4. **事件处理**:当窗口置顶后,需要处理各种窗口事件,如最小化、最大化、关闭以及用户交互等。这通常涉及到事件监听器的设置,例如在Java中使用`addWindowStateListener`,在C#中使用`Window_StateChanged`事件。...

    min_max_window.rar_maxwindow

    最大化窗口时,程序需要处理好内容的适应性,确保在全屏模式下仍能清晰地展示所有信息。 对于初学者来说,了解这些基本的窗口操作实现方式很重要。在实践中,开发者需要考虑跨平台兼容性,因为不同操作系统可能有...

    类似QQ的自动伸缩窗口

    3. **事件监听**:为了实现窗口的自动伸缩,我们需要监听窗口相关的事件,如窗口最大化、最小化、拖动等。在JavaScript中,可以使用`resize`事件;在Java Swing或JavaFX中,可以注册`ComponentListener`。 4. **...

    按钮打开全屏窗口.rar

    在C#中,Form类有`WindowState`属性,可以设置为`WindowState.Maximized`以最大化窗口,或者使用`FormBorderStyle`属性设置无边框以模拟全屏。 事件处理是关键,因为用户点击按钮时需要触发全屏切换。这通常涉及...

    图片窗口的创建

    窗口管理器负责创建窗口、设置窗口大小、位置、标题,以及处理窗口关闭、最大化、最小化等事件。 3. 图像渲染:一旦窗口创建完成,我们需要将图像数据渲染到窗口上。这一步涉及将图像数据映射到窗口的像素数组上,...

    固定资产管理系统(swing)

    管理系统的目标是对这些资产进行有效的跟踪、记录和报告,确保资产的合理使用和价值最大化。 【资产管理系统】:资产管理系统是一种软件解决方案,用于自动化和优化资产的生命周期管理,包括采购、维护、折旧、处置...

    窗口效果显示组件.zip

    1. **窗口动画效果**:窗口效果显示组件的核心在于动画设计,这些动画可以使窗口在打开、关闭、最大化、最小化或改变大小时呈现出平滑的过渡效果。例如,淡入淡出效果让窗口在显示或隐藏时逐渐出现或消失,而滑动...

    基于Java Swing技术的学籍管理系统的设计与实现.pdf

    本文提到的系统功能复杂性和不确定性要求在设计学籍管理系统时充分考虑各种潜在问题,并最大程度地适配其他教务子系统,如成绩管理系统等。通过使用Java和Spring JDBC技术构建的学籍管理系统,能够在保证系统稳定性...

    如何在标题栏上添加按钮(添加除了最小化放大关闭按钮以外的自定义按钮).zip

    以下是一些关于如何在标题栏上添加除最小化、最大化和关闭按钮以外的自定义按钮的知识点: 1. **窗口句柄**:在Windows操作系统中,每个窗口都有一个唯一的标识符,称为窗口句柄(HWND)。通过这个句柄,我们可以对...

    基于Java的帮助视图组件库 Help GUI 1.1源代码.zip

    4. `HelpWindow`: 默认的窗口实现,继承自`JFrame`,提供了基本的窗口功能,如关闭、最大化、最小化等。 四、集成与自定义 在项目中集成Help GUI 1.1,开发者需要先实例化`HelpManager`,然后添加`HelpTopic`对象...

    JDICjava浏览器

    7. **窗口管理**:JDIC允许对Java窗口进行原生的拖放、最大化、最小化等操作,使Java窗口看起来和操作起来都更像原生应用。 8. **系统字体和颜色**:JDIC可以帮助Java应用获取和使用操作系统的默认字体和颜色,保持...

    商业编程-源码-实现标题条的显示与隐藏.zip

    标题条通常位于窗口的顶部,包含应用程序的名称、图标以及一些操作按钮,如最小化、最大化/还原和关闭。在某些情况下,例如全屏模式或特定的用户交互模式下,隐藏标题条可以提供更沉浸式的体验。 实现标题条的显示...

    JAVA上百实例源码以及开源项目源代码

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    SWT.zip_IBM_it

    6. 性能优化:提供有关如何最大化SWT应用性能的建议,例如使用事件监听器的最佳实践,以及减少内存消耗的方法。 7. 实例代码:可能包括实际的Java代码示例,展示如何创建和使用SWT文件加载器。 8. 遵循的编程模式和...

    Java图形界面开发:SWT全接触.pdf

    SWT的核心理念在于最大化利用操作系统的原生GUI组件。这意味着当操作系统提供了某个特定的图形元素时,SWT会直接调用这些元素而不是自己重新实现。这种做法不仅提高了性能,还确保了应用程序具有一致的外观和感觉。...

    2021-2022计算机二级等级考试试题及答案No.2507.docx

    1. 窗口大小调整:在大多数操作系统中,用户可以通过鼠标拖动窗口边缘来改变窗口的大小。 2. 网络硬件:客户/服务器模式的局域网中,主要硬件包括服务器、工作站、网卡和传输介质。传输介质是连接设备之间传递数据...

Global site tag (gtag.js) - Google Analytics