我试着做100%的全屏模式,我使用Ubuntu12.10,左边是侧栏,顶部是菜单。当我运行全屏模式时,它不会覆盖这两个菜单栏,它位于它们旁边:

它应该覆盖左边的菜单栏和顶部的黑条。有人知道为什么没有吗?
package sscce;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import javax.swing.JFrame;
public class Main extends JFrame{
public Main(){
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice myDevice = ge.getDefaultScreenDevice();
this.setUndecorated(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myDevice.setFullScreenWindow(this);
}
public static void main(String[] args){
Main main = new Main();
}
}发布于 2012-12-30 04:37:59
这是预期的行为。setFullScreenWindow向操作系统发送请求,操作系统返回桌面的尺寸:在启动器右侧和菜单栏下方的区域。
我的背景是Windows开发(尽管我现在正在尽可能快地学习Linux开发),所以我无法给出更改代码的具体细节。但是在Windows中,您需要各种Win API调用,以及通过JNI/JNA的本地接口。有关这一问题的好文章,请参阅http://eclipseandlinux.blogspot.com/2011/12/eclipse-unity-integration-without-jna.html
如果这是一个个人使用的应用程序,你当然应该做任何你想做的。但是如果你是为其他人而发展的话,我要恭敬地说,通常来说,推翻这种行为并不是一个好主意。桌面的工作方式应该被看作是一种契约。用户可能会对一个应用程序感到困惑和沮丧,因为它掩盖了他们对桌面的控制方式。
https://askubuntu.com/questions/231534
复制相似问题