Muss X-Windows auf einer Linux-Box installiert sein, damit Java Vollbildgrafiken darstellen kann?Java: Grafik in Linux
Antwort
Andere Beantworter scheinen anzunehmen, dass "Vollbildgrafik in Java" notwendigerweise "eine funktionierende Implementierung von AWT" bedeutet. Dies ist natürlich nicht unbedingt richtig, da es durchaus möglich ist (einige würden es sogar als wünschenswert bezeichnen), Java ohne AWT zu verwenden.
Cairo ist eine 2D-Grafik-Rendering-Bibliothek, die von Java verwendet werden kann und auch ohne X11 verwendet werden kann. Es sieht auf den ersten Blick so aus, als ob es möglich wäre, es für dieses Szenario zu konfigurieren. Sie müssen es für die Verwendung des OpenGL-Renderings konfigurieren und eine geeignete OpenGL-Implementierung bereitstellen, die nicht von X11 stammt (z. B. MesaGL mit dem Gerätetreiber fbdev).
SDLJava ist ein Java-Port der beliebten C SDL-Spielentwicklungsbibliothek. Dies sollte auch in der Lage sein zu tun, was Sie verlangen, obwohl es seit 2005 nicht aktualisiert worden zu sein scheint, also wenn Sie irgendwelche Probleme mit ihm haben, kann Unterstützung nicht kommen.
Alternativ können Sie den Framebuffer auch mit relativ einfachem C-Code öffnen und konfigurieren. Verwenden Sie dann JNI, um den speicherprogrammierten Framebuffer als ByteBuffer im direkten Modus zurückzugeben, sodass Sie direkt darauf zeichnen können.
Nun "Vollbild-Grafik" ist ein bisschen vage.
Wie auch immer, anscheinend gibt es einen fortlaufenden Aufwand, um von Java aus auf den Framebuffer zuzugreifen: Framebuffer Toolkit.
Das Ziel dieses Projektes ist es, einen Körper des Codes zu erzeugen, die eine leichte Framebuffer-basierte Peer-Implementierung für AWT und Swing ist. Das Ziel dieses Codes besteht darin, die Abhängigkeit von X oder anderen Grafikschichten zu entfernen, so dass Grafiken zu einem Framebuffer (z. B. einem Rohpuffer, VNC usw.) an einen Framebuffer ( ) umgeleitet werden können. Dieses Beispiel Implementierung wird reine Java-Lösungen bevorzugen, mit öffentlichen Erweiterungspunkten verfügbar, um native Ressourcen nach Bedarf einzugeben.
Siehe Project proposal: fbtoolkit.
Um wirklich etwas grafisch auf dem Bildschirm anzuzeigen, ja. Bud gibt es eine kopflose Version der JRE, nur um es zu laufen. Sie werden keine grafische Ausgabe sehen, aber sie wird ausgeführt. Alternativ können Sie sich auch remote anmelden und X-Forwarding verwenden, um den Java-Code auf dem Server auszuführen, während der Client die Anzeige von Grafiken übernimmt.
Auf einem eingebetteten Gerät, wie z. B. einem Raspberry Pi, wenn Sie nicht möchten, mit dem Standard-Java AWT + Swing voll durch X11 gehen, dann scheint dieses https://github.com/ttww/JavaFrameBuffer Projekt direkt in den Bildspeicher zu schreiben interessant.
Eine Alternative kann z.B. SWT auf GTK oder Qt Jambi, um in den Rahmenpuffer zu schreiben (sowohl GTK als auch QT können direkt einen FB ohne X11 verwenden).
- 1. BGI-Grafik für Linux?
- 2. Quadtree Grafik-Display in Java
- 3. Java - Grafik kritische Verbindungen
- 4. Java-Grafik JApplet
- 5. Bild und Grafik Java
- 6. Java-Grafik-Bibliothek
- 7. Java Grafik-Performance
- 8. Vektoren in einer Grafik in ImageJ (Java)
- 9. Grafik Anzeige der validierten Daten in Java
- 10. Max-Flow-Grafik-Simulation in Java
- 11. Android Java, wie man Einzelbalken Grafik
- 12. Java Pong Spiel Grafik oder Geom 2D
- 13. Java-Grafik - eine Form mit zwei Farben
- 14. Java PaintComponent (Grafik g) wird nicht funktionieren
- 15. Einstellung Java-Klassenpfad in Linux?
- 16. Drucken mit Java in Linux
- 17. Fähigkeiten & Linux & Java
- 18. Linux-Befehle von Java
- 19. Sound (.wav/.mp3) als Grafik in Java anzeigen
- 20. Aufruf einer Farbe Grafik nach dem Update in java
- 21. Wird Java in Windows in Linux kompiliert?
- 22. Wie Jar-Dateien in Java in Linux
- 23. Grafik- und Diagrammbibliothek
- 24. Ist Zyklus in Grafik?
- 25. Cobertura Grafik in Hudson
- 26. Erreichbarkeit in Grafik - C
- 27. Grafik in WPF mit Grafik # wird nicht als Kette gezeichnet
- 28. Linux-basierten Benutzer in Java authentifizieren
- 29. jfxrt.jar fehlt unter Linux in Java 1.8.0_77
- 30. java - Ausführen eines Befehls in Linux
Das Ziel des OP war, Grafiken zu verwenden, nicht die kopflose Version der JRE zu verwenden. –