相关疑难解决方法(0)

Java GUI隐藏了Windows任务栏

JFrame用来为桌面应用程序创建GUI.我使用此代码根据平台屏幕的分辨率设置的GUI大小.

this.setSize(this.getToolkit().getScreenSize());
Run Code Online (Sandbox Code Playgroud)

问题是当我运行应用程序时,GUI覆盖了所有屏幕.Windows任务栏也隐藏在GUI后面.

我希望无论任务栏的大小如何,任务栏都应该在所有条件下都可见.我如何实现这一目标?

java user-interface swing

4
推荐指数
4
解决办法
1万
查看次数

设置JFrame而不与任务栏重叠

我需要有一个未修饰的JFrame(setUndecorated(true)),需要全屏显示,而不与任务栏重叠.

我尝试了以下解决方案.

  • 调用setExtendedState(MAXIMIZED_BOTH).

    • 优点:这可以正常工作,即窗口动态调整,除了它有以下问题.
    • 问题 最初窗口占据全屏虽然帧动态调整,但它与任务栏重叠.
  • 尝试使用JFrame.setExtendedState(MAXIMIZED_BOTH)与未修饰帧一起工作的下述解决方案

     GraphicsConfiguration config = aFrame.getGraphicsConfiguration();
     Rectangle usableBounds = SunGraphicsEnvironment.getUsableBounds(config.getDevice());
     aFrame.setBounds(0, 0, usableBounds.width, usableBounds.height);
    
    Run Code Online (Sandbox Code Playgroud)
    • 优点:我没有重叠,窗口看起来很好.
    • 问题:当任务栏位置/大小发生变化时,窗口不会动态调整自身.

任何帮助将不胜感激.

我想到了一个设计.但不确定其可行性.我可以使用setBounds().但是,当调整任务栏或重新定位任务栏时,我需要通知我的框架.有办法吗?

java swing jframe

3
推荐指数
1
解决办法
4081
查看次数

标签 统计

java ×2

swing ×2

jframe ×1

user-interface ×1