Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows

Status
Nicht offen für weitere Antworten.

philth

Mitglied
Hallo,

für meine Studienarbeit schreibe ich ein Programm, das unter Windows laufen soll, ich entwickle aber unter Linux. Ich habe auf beiden Systemen die gleiche Java-Version installiert (1.6_13), bekomme aber unter Linux keinen Fehler, unter Windows zum Start der GUI eine nicht zuordenbare Null-Pointer-Exception. Mein Fenster wird erst dann korrekt gezeichnet, wenn ich eine Ecke "anfasse" und die Größe ändere.

Hat schonmal jemand so etwas gehabt - einen Fehler unter dem einen System, den es auf dem anderen System mit identischer JRE nicht gibt? Der Fehler scheint außer einem unschönen Stack-Trace keine Folgen zu haben, aber es verwundert mich eben.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
- Grafik ist betriebssystemnah und damit auf verschiedenen Systemen recht unterschiedlich implementiert

- das Look & Feel ist ein anderes, warum auch immer, sieht man ja an der GUI

- unabhängig davon zur Lösung:
die Initialisierung einer GUI sollte innerhalb eines SwingUtilities.invokeLater-Block geschehen oder kennst du das bereits?
 

philth

Mitglied
Hallo SlaterB,

danke für den Tipp mit dem InvokeLater-Block, ich initialisiere die GUI im Konstruktor der "Hauptklasse" mit "new Gui()", Gui erbt dann von JFrame.

Ich werde mir das ansehen, vielen Dank für den Tipp!
 

philth

Mitglied
Nochmal vielen vielen Dank!

Das Problem war dann also kein Plattformproblem an sich, sondern eine "unsaubere" Implementierung die mir Linux verziehen hat oder so ähnlich!

Ich habe es jetzt zu so etwas umgeschrieben:
Code:
		final Applikationsmanager am = this;

		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				// GUI starten mit irgendeinem Modell
				maingui = new MainGUI(am, new Modell(am, null, "defaultname",
						"nodoku"));
				maingui.setVisible(true);

				/*
				 * ************* Für Testumgebung
				 * ******************************** Generiert ein Testmodell
				 * Feder-Masse
				 */
				am.setHauptmodell(am.generiereTestmodell());
				/* ************************************************************* */
			}
		});

... und es funktioniert.

Grüße
Philipp
 
S

SlaterB

Gast
> sondern eine "unsaubere" Implementierung die mir Linux verziehen hat oder so ähnlich

so in der Art dachte ich auch, war mir aber etwas zu heikel zu behaupten,
das ist bestimmt recht zufällig, wie da verschiedene Dinge nebenläufig ablaufen,
ob es klappt oder nicht kann vielleicht auch von ganz anderen Dingen als nur dem Betriebssystem abhängen


------------

> final Applikationsmanager am = this;
..
> maingui = new MainGUI(am, new Modell(am, null, "defaultname", "nodoku"));


nebenbei: es ginge auch ohne finale Variable außen,
innerhalb der anonymen Klasse:

Applikationsmanager am = Applikationsmanager.this;
maingui = new MainGUI(am, new Modell(am, null, "defaultname", "nodoku"));
usw.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Swing [Gelöst]Radiobuttons "Verknüpfen" AWT, Swing, JavaFX & SWT 3
H Puzzle - Erkennen wenn gelöst (array vergleichen) AWT, Swing, JavaFX & SWT 10
Pithecanthropus [gelöst] JTree, aber nicht mit Strings, sondern mit Objects? AWT, Swing, JavaFX & SWT 2
Pithecanthropus [gelöst ]ActionListener soll nur Änderungen "bemerken" AWT, Swing, JavaFX & SWT 2
H [gelöst] Swing Elemente verdecken AWT, Swing, JavaFX & SWT 14
R [gelöst]Fenster schließen - trotz Endlosschleife in der Paint-Methode? AWT, Swing, JavaFX & SWT 3
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
J [gelöst] nicht installierte Schrftart nutzen AWT, Swing, JavaFX & SWT 8
M Swing [gelöst] JTable: Edit abstellen AWT, Swing, JavaFX & SWT 3
S Swing [gelöst] GUI-Befehle bleiben wirkungslos, wenn danach was großes gemacht wird. AWT, Swing, JavaFX & SWT 5
S [gelöst] API zum bequemen Navigieren und Auswählen von Ordnern AWT, Swing, JavaFX & SWT 3
Dragonfire ZoomImage flackert -> Fehler: repaint-Aufruf [gelöst] AWT, Swing, JavaFX & SWT 5
P [gelöst] Verschiebbare Komponenten mit Linien verbinden AWT, Swing, JavaFX & SWT 2
J [gelöst] repaint problem AWT, Swing, JavaFX & SWT 2
A [gelöst] Grundlagenfehler AWT, Swing, JavaFX & SWT 2
R Gelöst: panelGrösse innerhalb eines JFrames AWT, Swing, JavaFX & SWT 7
M problem mit repaint()-Methode[gelöst] AWT, Swing, JavaFX & SWT 8
ModellbahnerTT [gelöst]Frage und Problem zu Swing AWT, Swing, JavaFX & SWT 4
G [gelöst] "Größe" von drawString AWT, Swing, JavaFX & SWT 4
T [gelöst] JFrame Grundlagen (Größe und Darstellung) AWT, Swing, JavaFX & SWT 6
E Inhalt einer JComboBox ... -gelöst AWT, Swing, JavaFX & SWT 2
B [ERLEDIGT]gui problem(genaue position von buttons ect.) AWT, Swing, JavaFX & SWT 9
M [erledigt] Bestimmte Zeile aus JTextArea löschen AWT, Swing, JavaFX & SWT 3
bj99 Swing [Erledigt] Bild schrittweise zoomen AWT, Swing, JavaFX & SWT 4
D Swing [Erledigt]Panel mit ScrollBar , anpassbare Größe AWT, Swing, JavaFX & SWT 15
B JFrame immer an gleicher stelle auf anderem Frame AWT, Swing, JavaFX & SWT 5
D 3D-Grafik Erstellen vieler gleicher Würfel AWT, Swing, JavaFX & SWT 5
H LayoutManager Auf gleicher Höhe anordnen AWT, Swing, JavaFX & SWT 4
M gleicher TableCellRenderer für mehrere unterschiedliche Tabellen AWT, Swing, JavaFX & SWT 5
K JLayeredPane Elemente auf gleicher Position AWT, Swing, JavaFX & SWT 7
F BoxLayout mit gleicher größe AWT, Swing, JavaFX & SWT 2
P GridBagLayout - zwei Spalten mit gleicher Größe AWT, Swing, JavaFX & SWT 11
M SWT SWT - Zwei Tabellen gleicher Größe AWT, Swing, JavaFX & SWT 5
V JComboBox gleicher Inhalt bedeutet gleicher Index? AWT, Swing, JavaFX & SWT 7
O Buttons gleich groß + gleicher Abstand AWT, Swing, JavaFX & SWT 3
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11

Ähnliche Java Themen

Neue Themen


Oben