GUI geht nur auf WIndows?

tr0nix

tr0nix

der-mit-dem-tux-tanzt
Moin zusammen

Ich habe ein kleines Problem. Folgender Code gibt unter Windows ein Fenster mit einem Textfeld und Label, wobei das Label den Wert des Textfeldes annimmt wenn Enter gedrückt wird. Unter Linux kompiliert alles sauber, gibt jedoch ein leeres Fenster.

Any hints?

Code:
import javax.swing.*; import java.awt.*;
import java.awt.event.*;

public class TextEvent extends JFrame implements ActionListener {
	JLabel output;
	TextEvent() {
			JTextField text = new JTextField();
			output = new JLabel();
			text.addActionListener(this);
			add(text, BorderLayout.NORTH);
			add(output, BorderLayout.SOUTH);
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	public void actionPerformed(ActionEvent e) {
		output.setText("Eingabe: " + e.getActionCommand());
	}
	
	public static void main(String argv[]) {
		TextEvent te = new TextEvent();
		te.setBounds(200, 200, 100, 120);
		te.setVisible(true);
	}
}
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ok habs rausgekriegt.. zuunterst im Konstruktor noch pack(); aufrufen..
 
Zuletzt bearbeitet:
Ich hab den Code unter Linux getestet. Er funktioniert genauso wie unter Windows XP.

Auf beiden System ist Java 6 drauf.
 
Benutzt Du beryl, compiz oder ähnliches Gedöns? Java bzw. Swing hat da einen Bug, der dafür sorgt, dass das nicht korrekt miteinander funktioniert, das pack() ist eigentlich unnötig. Ein Workaround ist es, ein anderes AWT-Toolkit einzustellen, z. B. mit export AWT_TOOLKIT=MToolkit (oder man trägt die Zeile AWT_TOOLKIT=MToolkit in /etc/environment ein und loggt sich neu ein).
 
Zuletzt bearbeitet:
Ok danke, probiere ich zuhause mal aus. Weil irgendwie hat es nach dem pack() schon funktioniert, aber ComboBoxen sind total buggy - ich kann immer nur die ersten 3 Einträge auswählen, sehe zwar die anderen und kann sie anklicken, aber der Wert wird nicht übernommen.

Gebe heute Abend nochmals Feedback :)

Gruess & Danke
Joel
 
Ok hat sich geklärt, ich hab scheinbar 2 JREs installiert gehabt, die eine davon frissts, die andere nicht :). Falls jemand Details will kann ichs nachschauen, sonst lass ich's mal so sein und bin froh, dass es funktioniert.
 

Ähnliche Themen

Java repaint() zeichnet Canvas Objekt nicht neu

dovecot und postfix Konfiguration Problem

Java-Programmier-Problem

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Zwei Fragen zu QT

Zurück
Oben