2016-08-29 4 views
2

Ich möchte Java GUI-Unterstützung auf meinem System, das nur Wayland-Backend unterstützt unterstützt. Ich habe versucht, das OpenJDK-7-jre-Paket einzubinden, aber es scheint X11-Abhängigkeit zu haben. Ich kompilierte 'Openjre-8' Paket erfolgreich und in meinem Bild enthalten. Es kann jedoch nur Java-Anwendungen ohne GUI ausführen. Wenn ich versuche, jedes Java-Swing-API-basiertes GUI-Programm mir die folgende Fehlermeldung erhalten auszuführen:Java GUI-Unterstützung auf Wayland

Exception in thread "main" java.awt.HeadlessException       
     at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source)   
     at java.awt.Window.<init>(Unknown Source)        
     at java.awt.Frame.<init>(Unknown Source)         
     at java.awt.Frame.<init>(Unknown Source)         
     at javax.swing.JFrame.<init>(Unknown Source)        
     at GuiApp1.<init>(GuiApp1.java:25)          
     at GuiApp1.main(GuiApp1.java:20) 

Ist es möglich, Programme Java GUI auf Wayland laufen? Wie machen wir es?

Antwort

5

Ich habe diese Frage bei der gleichen Frage gefunden: Ich habe eine Java Swing-Anwendung, die ich nativ auf Wayland ausführen möchte. Ich weiß nicht, ob das möglich ist, und das Fehlen anderer Antworten scheint darauf hinzuweisen, dass dies nicht der Fall ist.

Sie können jedoch eine Swing-Anwendung unter XWayland ausführen und unter Ihrem bevorzugten Wayland-Compositor ausführen. Sie können feststellen, dass das für Ihre Bedürfnisse gut genug ist. Es funktioniert gut für mich in ersten Tests unter dem GNOME 3 Compositor, zumindest.

Edit: als ich meine Suche fortsetzte, fand ich, dass die Wayland-Gemeinschaft Ihre Frage genauso auf ihrer Mailingliste beantwortet hatte, zusammen mit zusätzlichem Kontext. Um anderen Lesern das Problem zu ersparen, fasst dieser Beitrag die Situation ab August 2016 zusammen: https://lists.freedesktop.org/archives/wayland-devel/2016-August/030832.html

+1

Ich bin der Autor dieser Mail. In der Zwischenzeit habe ich einen Monokel-Port von Javafx zu Wayland erstellt. Weitere Informationen hier: https://github.com/udevbe/wayland-javafx – Zubzub

+0

@Zubzub gibt es eine Lösung für Swing? – Xan

+0

@Xan Ja, redhat hat einen Swing-Port für wayland.http: //mail.openjdk.java.net/pipermail/caciocavallo-dev/2016-August/000558.html Allerdings weiß ich nicht, wie gut es funktioniert oder wie einfach es einzurichten ist. – Zubzub