English 中文(简体)
如何涵盖任务事项?
原标题:Java in full screen on Linux - how to cover task bar?

I have a problem to run Java application in full screen mode on "openSUSE 11.4 (x86_64)". I am using Java 1.6.0_26-b03.

我试图举两个全面屏幕应用的例子:

  1. Example from Oracle site: Display Mode Test.
  2. JDarkRoom.jar (simple text editor) downloaded from Codealchemists.

在这两种情况下,我都有一个在申请上可以看到的“欧罗安”工作队。 它必须是与系统环境/配置相一致的?

最佳回答

<should > 可查阅GraphicsDevice.setFullScreenWindow(window)。 然而,由于最受欢迎的 Java花时间出现泡沫,这可能无法在1.6 = Java 6系列中运行某些“经纪”版本的系统。 我没有经过彻底的测试,因此,可以向广大民众宣传patch。

https://bugs.java.com/bugdatabase/view_bug?bug_id=7057287

<>斯特凡>

在这里,科索沃提供了太多的信息,而且没有足够的帮助...... 页: 1 ......

www.un.org/Depts/DGACM/index_spanish.htm 不含六氯环己烷的桌面。

氯乙烯式机和其他Unices(MacOSX部分除外)的以六氯环己烷为基础的操作系统通常使用X光系统(aka X11)。 在X之下,你拥有一台X服务器(通常是像“视频驱动器”)和用户,这些服务器与它连接起来的频率多于同一机器(软弱)。

窗口的布局和布置由“<>专门咨商地位>客户方案”控制,称为“温得管理人”。 它负责对窗口进行校正(例如,编造所有权栏或转售处理),并定位。

你的方案将是X客户。 可在request-但不得demand<>em>-在屏幕上放置在某一位置或某一大小。 各种温得主(或更少)更愿意向你们提供你们想要的东西。

www.un.org/Depts/DGACM/index_spanish.htm 除此以外,大多数台式都开明(有时是)。

现在,迄今为止,大多数的六氯环己烷都使用Gnome Desktop,K Desktop拥有第二大位置,而其他一些则得到相当广泛的使用。 “城市”是指这些生态环境(以及其他一些环境,如低端个人计算机XFCE)都符合FreeDesktop.org Window Manager Hints标准。

(超模拟:) 通常,将有一个或一个以上的屏幕上有小组。 通常,在顶端只有一人,但有many差异。 这些小组领域不被视为“屏幕的一部分”,因此,温得主管告诉你,“你不允许在你获准玩 the的地区之外进行这种检查;该屏幕并非1920×1080,只需要1890×1080。” 当然,这种安排可能与你在写你的照片时所预计的安排完全不同,而且你可能掌握在我的净书中,身上有800 ×480的物理屏幕,只剩780 ×480。

99%的遗体是巨大的。 Windows t没有进入小组,因此,你总是能够接触小组进行关键控制,如打Mutare或转用另一个方案或东西。

这些“背后”使你能够要求特别对待你的顶级窗口。 例如,你可以要求你不要获得所有权条码,或获得一个减少的“棕榈”类所有权条码;你可以请求在窗口清单或任务书或活动概况上或通过任何其他接口展示积极的窗口;或者,你可以要求进行really全面筛选,并且把其他一切东西推倒,甚至小组。

The spec is here: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html

www.un.org/Depts/DGACM/index_spanish.htm And the Fail:

Basically, the window manager hints specification wasn t being followed correctly by Sun/Oracle (or Red Hat, who copied off Sun/Oracle, or probably IBM, because they probably did the same, but I don t see anybody complaining about them)…

虽然我确实看到有人回头来,并询问它是否与K桌面环境窗口经理(KWin)一道,作为“明显,这只显示在K,并在Gnome、XFCE和朋友身上。

www.un.org/Depts/DGACM/index_spanish.htm Work-Around

在安排 Java管理时间(和(或)其服务人员)外,任何实际的fix点是利用论坛特有的Jasa(可能利用“ reflection”的 reflection子,并设立适当的 window。

是的,这一毛额......

问题回答

Just a precision on the method of bgroenks:
It s work fine with java7 and java8 on Ubuntu 14.10 (Unity).

BUT: 您必须制定<条码>框架.setResizable(true);否则就赢得了笔工作。

仔细:完全筛选模式只与JFrame(没有JDialog或JWindow)合作。

Here a sample code: It takes place of setVisible(true)

/**
 * @param frame
 * @param doPack
 * @return device.isFullScreenSupported
 */
static public boolean fullScreen(final JFrame frame, boolean doPack) {

    GraphicsDevice device = frame.getGraphicsConfiguration().getDevice();
    boolean result = device.isFullScreenSupported();

    if (result) {
        frame.setUndecorated(true);
        frame.setResizable(true);

        frame.addFocusListener(new FocusListener() {

            @Override
            public void focusGained(FocusEvent arg0) {
                frame.setAlwaysOnTop(true);
            }

            @Override
            public void focusLost(FocusEvent arg0) {
                frame.setAlwaysOnTop(false);
            }
        });

        if (doPack)
            frame.pack();

        device.setFullScreenWindow(frame);
    }
    else {
        frame.setPreferredSize(frame.getGraphicsConfiguration().getBounds().getSize());

        if (doPack)
            frame.pack();

        frame.setResizable(true);

        frame.setExtendedState(Frame.MAXIMIZED_BOTH);
        boolean successful = frame.getExtendedState() == Frame.MAXIMIZED_BOTH;

        frame.setVisible(true);

        if (!successful)
            frame.setExtendedState(Frame.MAXIMIZED_BOTH);
    }
    return result;
}

关于Stéphane。

我认识到这个问题是个老大事,但我 st卑地寻求同样的答案。

在进行了大量试验之后,我找到了一个很好的解决办法:

GraphicsDevice d = GraphicsEnvironment
    .getLocalGraphicsEnvironment().getDefaultScreenDevice();
if (d.isFullScreenSupported()) {
    frame.setUndecorated(true);
    frame.setResizable(false);
    frame.addFocusListener(new FocusListener() {

        @Override
        public void focusGained(FocusEvent arg0) {
            frame.setAlwaysOnTop(true);
        }

        @Override
        public void focusLost(FocusEvent arg0) {
            frame.setAlwaysOnTop(false);
        }
    });
    d.setFullScreenWindow(frame);
} else {
    frame.setVisible(true);
}

重点听众因此能够让用户从窗户中抽取电离层,而不必立即强迫重新定位。

这部建筑在我的北纬15号系统上,第4号是E4号。 我也正在使用NVIDIA X-Server。

希望这一帮助! 让我知道,它是否为你们工作!

上述一例都没有为我工作,我用XUbuntu为我工作,但我只是利用一名JWindow而不是一个JFrame,而是工作! 这令人沮丧,希望它能为你工作。 吴 Oh我应该提到,我只看过APIC,而我确实不熟悉JWindow阶级,因此我不敢肯定JWindow和JFrame之间的差别。 Good luck.

I ve used Oracle Java editions 1.6.0_31 and 1.6.0_26 using full screen mode. I experienced some of the troubles with the window not showing above the taskbar on Ubuntu. However I was able to make it work with this little code sample.

// Create a window for full-screen mode; add a button to leave full-screen mode
GraphicsDevice gs = GraphicsEnvironment.getLocalGraphicsEnvironment().
                    getDefaultScreenDevice(); 
                    //or initialize this for a specific display
Frame frame = new Frame(gs.getDefaultConfiguration());
Window win = new Window(frame);
Canvas c = new Canvas();
c.setBackground(Color.RED);
win.add(c);
win.show();  //or setVisible(true);

// Enter full-screen mode
gs.setFullScreenWindow(win);
win.validate();

行之有效的骗局首先使窗口可见,然后把窗户放在完全的屏幕上。 在播放节目之前采用完全的屏幕方式,使任务限制在窗口之上。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签