• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Java-Gui läuft nicht auf allen Rechnern

A

Anonymous

Gast
Hi,

wir mussten für die Uni ein Spiel in Java schreiben. Dazu gehörte auch eine optionale Gui, die ich und eine Kommilitonin geschrieben haben. Dabei sind wir auf ein Problem gestossen, wofür wir noch keine Lösung gefunden haben bzw. gar nicht wissen, wonach wir suchen sollen.

Die Gui basiert auf Swing und besteht aus zwei Klassen, einem Konfigurationsfenster(Spieler auswählen, Name eingeben) und einem Spielbrett(Schachbrett, Icons usw.). Das Spielbrett wird über einen Startbutton im Konfigurationsfenster gestartet.

So nun mein Problem:
Auf meinem Laptop läuft das Spiel wunderbar. Starte ich das Spiel auf meinem Desktop, erscheint zwar das Konfigurationsfenster, beim Klicken auf den Startbutton passiert aber gar nix mehr.

Die Konfiguration der beiden Rechner steht in der Signatur. Es ist auch auf beiden die identische Java-Version installiert.
Code:
14:42 Hanswurst:~ > java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode
Jedenfalls hatten wir heute die Präsentation und haben natürlich Rotz und Wasser geschwitzt, ob die Gui jetzt läuft. Na ja, es lief, ich bin auch mehr als zufrieden... :D
Dieses Problem tritt nur bei Linux-Rechnern auf, bei Windows(XP, Vista) und Mac ging alles.

Hat da jemand eine Idee, woran das liegt. Oder einen Tipp, wonach ich suchen soll? Ich würde den Fehler schon gerne beheben.

Schöne Grüsse
 

derMani

Hacker
Habt ihr irgendwelche besonderen Look & Feels verwendet?

Wenn ihr ein Look&Feel verwendet, welches z.B. unter Linux nicht zur Verfügung steht, kann es Probleme geben.

Ansonsten kann ich ohne konkretes Codebeispiel keine Aussage treffen :D

Kannst du das Problem nicht irgendwie reproduzieren?
 
OP
A

Anonymous

Gast
Hi

@derMani
Müssten nicht irgendwelche Compilerfehler auftreten, wenn es irgendein Layout nicht gäbe? Tschuldigung, das hab ich vergessen zu erwähnen, kompilieren geht immer ohne Fehler.

@Leviathan
Von strace habe ich noch nichts gehört. Ich werde mal Tante Google bemühen.

Jedenfalls schonmal danke für die Antworten!
 

derMani

Hacker
Läuft auf dem Desktop evt. ein 64-Bit OS?

Das wäre das einzige was ich nun spontan sehen könnte, was bei den strace logs anders ist...

Ob das ein Problem sein sollte weiß ich nicht :)

Wie gesagt, reproduzier das Problem doch mal, ansonsten können wir dir kaum helfen.
 
OP
A

Anonymous

Gast
Hi,
Wie gesagt, reproduzier das Problem doch mal, ansonsten können wir dir kaum helfen
Blöde Frage :eek:ps: , aber was genau meinst du mit reproduzieren?

Läuft auf dem Desktop evt. ein 64-Bit OS?
Ja (siehe Signatur), aber bei zweien meiner Gruppenkollegen geht es auch nicht. Bei dem einen läuft openSUSE 11.0 32-bit, bei dem anderen Ubuntu (Version weiss ich nicht) 32-bit.

Kann das mit Compiz-Fusion und der dafür notwendigen Optionen in der xorg.conf zusammenhängen? Auf dem Desktop läuft compiz-fusion, auf dem Laptop nicht.

Ich stelle jetzt mal die Java-Codes online, ich denke, das bringt am meisten.

GUI.java: http://phpfi.com/336614
SpielerConfigForm.java: http://phpfi.com/336615
SpielerConfigForm.form: http://phpfi.com/336618
GUISpieler.java: http://phpfi.com/336620

So, bitte nicht die Nase rümpfen, ist mit Sicherheit noch lange nicht ausgereift, aber das sind unsere ersten selbstständigen Java-Gehversuche...

Schöne Grüsse
 

oc2pus

Ultimate Guru
do wo compiz läuft:

Code:
export AWT_TOOLKIT=MToolkit

und es sollte tun

ansonsten den java Parameter für look and feel mal ändern:
java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
oder
java -Dswing.defaultlaf=com.sun.java.swing.plaf.motif.MotifLookAndFeel

...
 
OP
A

Anonymous

Gast
Guten Morgen,

Code:
export AWT_TOOLKIT=MToolkit
Hat leider nichts gebracht.

java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Keine Veränderung, in der Konsole bekomme ich das:
Code:
06:13 RossTheBoss:../Dame42/jar > java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -jar Dame42.jar

(<unknown>:4958): Gtk-WARNING **: Attempting to add a widget with type GtkButton to a GtkComboBoxEntry (need an instance of GtkEntry or of a subclass)

(<unknown>:4958): Gtk-CRITICAL **: gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed

(<unknown>:4958): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed

(<unknown>:4958): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed

(<unknown>:4958): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed

(<unknown>:4958): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failed

java -Dswing.defaultlaf=com.sun.java.swing.plaf.motif.MotifLookAndFeel
Auch keine Veränderung

Könnte Java da nicht mal irgendeine Fehlermeldung ausspucken? Also meine Vermutung ist, entweder hackt es wegen der 64-bit oder es hat etwas mit Nvidia zu tun. Das sind die einzigen Unterschiede zwischen den beiden Rechnern.

Schöne Grüsse
 

Wizzzard

Member
@DaBossDaChef

Ich habe schon mal erlebt, dass Java-Programme mit grafischer Oberfläche mit compiz nicht liefen. War der tvbrowser. Mit JDK 5 ging er mit aktiviertem compiz nicht. Aber mit dem JDK 6 ging es.

Wenn Du wissen möchtest ob compiz Einfluss hat, dann schalt das doch aus!
 
OP
A

Anonymous

Gast
Hi,

das hatte ich schon probiert. Mit Kwin als WM habe ich dasselbe Problem. Aber selbst wenn ich compiz-fusion abschalte habe ich doch trotzdem noch die Optionen in der xorg.conf stehen. Vielleicht haben diese ja irgendwelche Auswirkungen. Keine Ahnung, so gut kenne ich mich nicht aus.

Schöne Grüsse
 

derMani

Hacker
DaBossDaChef schrieb:
Blöde Frage :eek:ps: , aber was genau meinst du mit reproduzieren?

Ich meine damit, dass du halt ein minimalistisches Beispiel schaffst, was den Sachverhalt reproduzieren kann^^

Quasi ein Miniprogramm was den gleichen Fehler hervorruft aber dabei überschaubar bleibt. Damit minimierst du mögliche Fehlerquellen und man kann besser die Ursache des Problems erkennen.

Die Xorg-Einstellungen haben bis auf einige AIGLX-Parameter nichts mit Compiz-Fusion zu tun.

Die Xorg-Parameter haben dementsprechend nichts mit deinem Swing-Problem zu tun.
Wohl aber könnte es wirklich an dieser Compiz-Geschichte liegen.

Deaktivieren kannst du COmpiz-Fusion recht leicht über das Fusion-Icon. Damit kannst du im laufenden Betrieb zwischen dem normalen Fenstermanager deiner Distribution (vermutlich kwin oder metacity) und Compiz hin- und herwechseln.
 
Oben