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

  • 相关阅读:
    HDU2438:Turn the corner(三分)
    XTU1267:Highway(LCA+树的直径)
    HDU6024:Building Shops(DP)
    “玲珑杯”ACM比赛 Round #13 B -- 我也不是B(二分排序)
    XTU1266:Parentheses(贪心+优先队列)
    Educational Codeforces Round 21 D
    Educational Codeforces Round 21E selling souvenirs (dp)
    EOJ3247:铁路修复计划
    关于工厂模式的 个人理解
    设计模式之 工厂方法
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/9356289.html
Copyright © 2011-2022 走看看