GUI aussehen unter Windows und Linux (und Mac)

Scruffy

Mitglied
Ich habe ein mittleres Problem mit meiner GUI: Ich habe sie in Netbeans unter Windows erstellt, sieht auch ganz toll aus. Starte ich das Programm aber unter Linux (oder Mac) sieht es schon nicht so toll aus, obwohl die LaF die gleiche ist (com.sun.java.swing.plaf.windows.WindowsLookAndFeel), und wenn ich beim Programmstart
Code:
UIManager.getSystemLookAndFeelClassName()
setze wird das Aussehen noch kurioser. Ist also die Plattforumunabhänigkeit nur für die Logik? Oder kann man das Aussehen auch vereinheitlichen?

Konkret werden in Panels Labels und JSpinner in einem GridBagLayout untereinander erstellt. Die Spinner bekommen eine feste Breite von 70. Alles paßt unter Windows sehr gut, nur eben bei den anderen Systemen nicht.
 

L-ectron-X

Gesperrter Benutzer
Dann hätte ich ganz gerne mal ein paar Screenshots von allen Sytemen, damit man sich das mal ansehen kann.
Ein absolut einheitliches Aussehen erhältst du nur mit dem MetalLookAndFeel bzw.
Code:
UIManager.getCrossPlatformLookAndFeelClassName()
Ansonsten hast du schon die Unterschiede allein durch die Darstellung der Oberflächen der Betriebssysteme.
 

Scruffy

Mitglied
Screenshots darf ich leider nicht zeigen.

MetalLookAndFeel bzw. UIManager.getCrossPlatformLookAndFeelClassName() sieht aus wie, entschuldige bitte den Ausdruck, dahingekotzt. Ich hab noch das Nimbus LaF ausprobiert, das scheint auch bei allen (hier genannten) Plattformen gleich auszusehen, aber das einzig brauchbare Aussehen ist nun mal das Windows LaF. Es gibt also keine Möglichkeit das gleich aussehen zu lassen?

Wie kann ich dann das Netbeans unter Windows dazu überreden die GUI im Designer unter MetalLookAndFeel zu presentieren?
 

Scruffy

Mitglied
Wenn's nicht dabei wäre würde es doch gar nicht starten unter Linux und Mac... oder sehe ich das falsch.

Danke für den Link, werd' ihn ausprobieren. Aber wenn ich das richtig verstanden habe, stellt es den Look vom kompletten Netbeans um und nicht vom GUI Builder.
 

Dit_

Bekanntes Mitglied
wenns nicht dabei ist, setzt java das LaF das auf dem aktuellen System als Standard definiert ist. Es soll auch Exception geworfen werden. Ist dein Catch-block leer?
 

Wildcard

Top Contributor
Ich hab noch das Nimbus LaF ausprobiert, das scheint auch bei allen (hier genannten) Plattformen gleich auszusehen, aber das einzig brauchbare Aussehen ist nun mal das Windows LaF.
Hmm, das Gtk und das Mac Look and Feel sind ziemlich nahe am Original. Wenn der das nicht gefällt ist das Geschmacksache, die User dieses Systems haben sich jedenfalls bewusst dafür entschieden.
Motif und Metal sind allerdings wirklich unzumutbar.
 

Ebenius

Top Contributor
Anmerkung am Rande: Feste Breiten von Komponenten sind in mit Vorsicht zu genießen. Verschiedene Desktopsysteme unterscheiden sich nicht nur durch unterschiedliche Hersteller. Oft sind zum Beispiel die Schriftarten und -größen anders und die GUI sieht auf einem Windows super aus und auf einem anderen passt alles hinten und vorne nicht.

Ebenius
 

rooonny

Mitglied
Anmerkung am Rande: Feste Breiten von Komponenten sind in mit Vorsicht zu genießen. Verschiedene Desktopsysteme unterscheiden sich nicht nur durch unterschiedliche Hersteller. Oft sind zum Beispiel die Schriftarten und -größen anders und die GUI sieht auf einem Windows super aus und auf einem anderen passt alles hinten und vorne nicht.

Ebenius


GENAU das Problem habe ich jetzt auch! Ich habe mein Programm jetzt endlich fertig und hatte es auf einem FullHD-Bildschirm programmiert und dann wollte ich natürlich auf einem anderen PC (normaler VGA Bildschirm) anwenden nur leider sehe ich jetzt nicht einmal die Hälfte davon... Jetzt kann ich das ganze GUI nochmal machen! Hab übrigens das null-Layout verwendet, glaube das war ein Fehler xD

Da Ronny
 
Zuletzt bearbeitet:

Thallius

Top Contributor
Weitere Anmerkung:

Ich als MAC User empfinde das WindowsL&F nicht als "einzig Brachbar". Ich möchte ja gar kein Windows L&F haben. Denk da mal drüber nach.

Gruß

Claus
 

Tobse

Top Contributor
Ich verstehe das Problem nicht so recht... ich verwende zu beginn des GUI-Codes generell
Java:
try
{
    javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
}
catch (Exception ignored) {} // Fallback auf das Metal LAF

Und wenn man damit - wie von Ebenius gesagt - keine fixen Werte vergibt sondern (sei es im GUI-Builder oder per Hand) die Layouts sachgerecht einstellt (also keine Hacks nutzt etc) ist die fertige GUI nurnoch an Nuancen von einer nativen zu unterscheiden.

EDIT:

Achja,

Weitere Anmerkung:

Ich als MAC User empfinde das WindowsL&F nicht als "einzig Brachbar". Ich möchte ja gar kein Windows L&F haben. Denk da mal drüber nach.

Gruß

Claus

mir geht das als Linux nutzer ebenfalls so. Wenn ich auf Ubuntu oder Mint arbeite möchte ich nicht an Windoof erinnert werden und mich auch nicht beim Wechseln des Fensters an eine andere GUI gewöhnen müssen.
 
Zuletzt bearbeitet:

rooonny

Mitglied
Mir geht es ja eigentlich nicht um das andere aussehen. Aber bei mir ist es zum Beispiel so, wenn ich mein Programm auf Linux tu, dann sind meine Choice-Felder doppelt so hoch wie in Windows.

Aber ich bin da noch Anfänger und irgendwann kriegt man das schon hin ;)

Da Ronny
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing JButton aussehen AWT, Swing, JavaFX & SWT 12
J SplitPane Aussehen des Divider verändern AWT, Swing, JavaFX & SWT 7
L LookAndFeel JInternalFrame aussehen isSelected() true vs false AWT, Swing, JavaFX & SWT 0
K Aussehen des Buttons resetten AWT, Swing, JavaFX & SWT 4
C Aussehen von JSlider ändern AWT, Swing, JavaFX & SWT 7
S Metal-Buttons so aussehen lassen wie Nimbus Buttons? AWT, Swing, JavaFX & SWT 3
L JLabel wie TableHeader aussehen lassen AWT, Swing, JavaFX & SWT 7
M Swing JTextPane mit JScrollPane soll aussehen wie JLabel AWT, Swing, JavaFX & SWT 3
D Aussehen von GUI-Komponenten ans Betriebssystem anpassen AWT, Swing, JavaFX & SWT 3
hdi Problem mit ToolTip: Aussehen/Verzögerung AWT, Swing, JavaFX & SWT 7
E Komponenten die wie bestimmte Symbole aussehen AWT, Swing, JavaFX & SWT 6
R AWT [Anfänger] keine atives Aussehen von Buttons AWT, Swing, JavaFX & SWT 4
N Swing JDialog Aussehen ? AWT, Swing, JavaFX & SWT 2
T Aussehen von JFrame bzw JInternalFrame ändern... wie? AWT, Swing, JavaFX & SWT 23
K Unterschiedliches Aussehen der JSlider? AWT, Swing, JavaFX & SWT 4
G Aussehen der Swing-Komponenten AWT, Swing, JavaFX & SWT 2
J AWT-Textfeld Aussehen ändern AWT, Swing, JavaFX & SWT 13
P JFileChooser: Das Aussehen/Fkt. modifizieren AWT, Swing, JavaFX & SWT 6
M Aussehen von Label verändern? AWT, Swing, JavaFX & SWT 3
E transparenz (alpha) - komisches aussehen von textfeldern! AWT, Swing, JavaFX & SWT 2
H Merkwürdiges Aussehen einer GUI-Komponente AWT, Swing, JavaFX & SWT 2
H Aussehen des Panels AWT, Swing, JavaFX & SWT 24
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
N JavaFX Installation unter IntelliJ IDEA AWT, Swing, JavaFX & SWT 5
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
B JavaFX openjfx11: intelliJ unter Ubuntu 18.10 kann nicht auflösen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
V Swing Button soll unter anderem Button sein AWT, Swing, JavaFX & SWT 2
L DoubleBuffering unter Swing AWT, Swing, JavaFX & SWT 0
L JavaFX Scene wechseln unter FX AWT, Swing, JavaFX & SWT 5
Avarion Swing JFrame unter Windows 10 kleiner ?! AWT, Swing, JavaFX & SWT 2
T ThreadPool sicher beenden unter Verwendung von swt.widgets.Display.syncExec AWT, Swing, JavaFX & SWT 1
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
M Swing Bildbearbeitung unter Java AWT, Swing, JavaFX & SWT 22
S (Swing)Vollbild anzeigen unter Linux/Mac AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
SexyPenny90 JLabel liegt unter meiner Turtle AWT, Swing, JavaFX & SWT 5
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
J AWT setBackground(Color.orange) ist unter Win7 Aero nicht orange AWT, Swing, JavaFX & SWT 3
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
R Problem mit TrayIcon unter Windows/Linux AWT, Swing, JavaFX & SWT 7
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T JButtons indexiert unter NetBeans anlegen AWT, Swing, JavaFX & SWT 7
J Applet Kommunikation unter Applets AWT, Swing, JavaFX & SWT 2
I Probleme mit GWT Controls unter Firefox AWT, Swing, JavaFX & SWT 14
A Swing Probleme unter Windows 7 AWT, Swing, JavaFX & SWT 5
F AWT MouseMotionListener e.getButton() ist immer 0 unter Linux und Windows AWT, Swing, JavaFX & SWT 6
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
J Swing Natives Menü unter OS X erstellen ? AWT, Swing, JavaFX & SWT 8
C Swing Kleines Programm mit SWING unter Verwendung von MVC AWT, Swing, JavaFX & SWT 5
G SWT-App läuft nicht unter OSX, unter Win aber problemlos AWT, Swing, JavaFX & SWT 3
H Y-Position mit get-/setLocation() unter Linux/Enlightement16 inkonsistent AWT, Swing, JavaFX & SWT 3
G SWT Linie unter transparentes Canvas zeichnen AWT, Swing, JavaFX & SWT 4
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
G Quaqua unter Windows AWT, Swing, JavaFX & SWT 15
B LaF unter KDE AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Swing Fehlende Komponenten unter Mac OS X AWT, Swing, JavaFX & SWT 8
M Swing GroupLayout unter Java 1.5 AWT, Swing, JavaFX & SWT 20
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
B Button identifizieren unter MouseEvent AWT, Swing, JavaFX & SWT 7
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
W WindowsLookAndFeel unter Mac AWT, Swing, JavaFX & SWT 5
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
N JDesktop unter Linux AWT, Swing, JavaFX & SWT 4
C JComboBox funktioniert nicht unter Mac OS X AWT, Swing, JavaFX & SWT 2
P Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows AWT, Swing, JavaFX & SWT 5
U Grafikkontext unter JButtons? AWT, Swing, JavaFX & SWT 5
M Probleme unter Linux AWT, Swing, JavaFX & SWT 7
E Hat Netbeans unter Linux kein Designer für Swing? AWT, Swing, JavaFX & SWT 3
D Probleme mit Java Swing unter Mac OSX AWT, Swing, JavaFX & SWT 13
F Statuszeile unter Swing AWT, Swing, JavaFX & SWT 4
P Programm terminiert nicht (unter Eclipse) AWT, Swing, JavaFX & SWT 5
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
L Problem mit "setVisible" unter LINUX AWT, Swing, JavaFX & SWT 5
gieser jToggleButton: Text unter Bild AWT, Swing, JavaFX & SWT 2
G SWT Button mit Image und ohne Rand unter Linux? AWT, Swing, JavaFX & SWT 7
M Wo bring ich die datenbankanfragen unter? AWT, Swing, JavaFX & SWT 22
G Problene mt Focus unter Swing AWT, Swing, JavaFX & SWT 7
D AWT drawString funktioniert nicht unter Linux AWT, Swing, JavaFX & SWT 7
lolkind unter JPanel eine JTable auf voller Größe anzeigen lassen? AWT, Swing, JavaFX & SWT 6
G AnfängerSWING Frage Werkzeugleiste unter dem Menu AWT, Swing, JavaFX & SWT 3
Noar IllegalComponentStateException unter Gnu/Linux AWT, Swing, JavaFX & SWT 2
T % von Komponenten unter Layoutmanager AWT, Swing, JavaFX & SWT 2
S JTable: Zeile unter MouseCursor farblich hervorheben AWT, Swing, JavaFX & SWT 2
Firefork JPopupMenu unter einem Schalter darstellen AWT, Swing, JavaFX & SWT 2
D Programm läuft unter XP aber nicht unter Knoppix AWT, Swing, JavaFX & SWT 6
ARadauer jtable drucken unter java 1.3 AWT, Swing, JavaFX & SWT 2
T Pobleme beim Druck unter Java AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben