7

だから私はUbuntuを使用していて、Javaでフルスクリーンモードに入りたいとき、タイトルバーなどのないフルスクリーンウィンドウではなく、通常のウィンドウが最大画面サイズで表示されます.フルスクリーンモードがどうあるべきかさえわかりません.他のOSで試したことがないので、Javaのように見えます。ただし、タイトルバーのない画面であるべきだと思います。この問題を抱えている他の人はいますか?

これは私が使用するコードです。; かなり簡単です。

public static void main(String[] args) {
    GraphicsEnvironment env = GraphicsEnvironment
            .getLocalGraphicsEnvironment();
    GraphicsDevice vc = env.getDefaultScreenDevice();
    JFrame window = new JFrame();
    window.setUndecorated(false);
    window.setResizable(false);
    vc.setFullScreenWindow(window);
}
4

4 に答える 4

4

Ubuntu (おそらく他の Linux ディストリビューションも) では機能しません。Java のフル スクリーン モードは、フル スクリーンをカバーしません。ツールバーは除外されます。いつも、何をするにも。

上記の 2 つの例と、公式の FSEMチュートリアルの例と、 Java/Swing とフル スクリーン モード (FreeCol と TripleX) を使用していることがわかっているいくつかのアプリケーションを試しましたが、誰も画面のタスク/ツールバー領域をカバーできませんでした。

私の構成は、OpenJDK または SUN-JRE 1.7.0_09 と Unity または Gnome のいずれかを使用した Ubuntu 12.10 です。興味深いことに、isFullScreenSupported() への Java 呼び出しは true を返します。そのため、Java JRE は全画面排他をサポートすると言っていますが、サポートしていません。

いくつかの可能な説明は別の質問で与えられるかもしれません。

于 2012-11-27T16:39:28.807 に答える
3

win7 では、このコード (@Gilberto の提案に従って undecorated フラグを true に設定し、RED パネルを追加) を使用すると、問題なく動作するようです。Ubuntu で動作しない場合は、フルスクリーン モードがサポートされていない可能性があります。

import java.awt.Color;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main {
    public static void main(String[] args) {
        GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice vc = env.getDefaultScreenDevice();
        JFrame window = new JFrame();
        JPanel comp = new JPanel();
        comp.setBackground(Color.RED);
        window.add(comp);
        window.setUndecorated(true);
        window.setResizable(false);
        vc.setFullScreenWindow(window);
    }
}
于 2012-09-20T21:41:45.973 に答える
0

これはほとんどの場合当てはまらないかもしれませんが、私はこの問題に対する私の解決策を共有したいと思います。

私の場合、大学の教育機関向けにJava / Scalaアプリを頻繁に開発する必要があります(心理テスト)。この問題を回避するために、実験用PCにノコギリエイをインストールすることにしました。

このソリューションがニーズに当てはまる場合は、Ubuntu機能(Software Center、Aptitute、apt-get)を介して(非常に古い)ノコギリエイをインストールするか、最新のノコギリエイを手動でインストールまたはコンパイルできます。

他のウィンドウマネージャーやデスクトップマネージャーでも同様の機能が提供される場合がありますが、パネルを無効化/削除してXFCEまたはLXDEを試したときにアーティファクトが発生しました。

于 2013-01-29T11:20:10.443 に答える