Hallo,
ich versuche eine Java-Gui zu erstellen und stoße schon bei den einfachsten Dingen auf Schwierigkeiten. Ich arbeite unter Linux (Ubuntu 8.10) sowohl mit Eclipse als auch auf der Kommandozeile. In beiden Fällen kann ich die Gui nur "abschießen". Doch nun der Quelltext.
Versuch 1:
Versuch 2:
Versuch 3:
Das erstellte Fenster läßt sich verkleinern, vergrößern, verstecken, wiederherstellen aber eben nicht durch einen Klick auf das X beenden (komisch ist das es manchmal, eher selten, klappt). Im Versuch 3 reagiert die Taste überhaupt nicht, sie wird nicht einmal optisch gedrückt (umgezeichnet). Ich habe den Verdacht das vom Programm keine Ereignisse verarbeitet werden.
Es muß ja in Java auch irgendwo eine Nachrichtenschleife geben. Wo?
Übersehe ich etwas?
fragende Grüße Martin
ich versuche eine Java-Gui zu erstellen und stoße schon bei den einfachsten Dingen auf Schwierigkeiten. Ich arbeite unter Linux (Ubuntu 8.10) sowohl mit Eclipse als auch auf der Kommandozeile. In beiden Fällen kann ich die Gui nur "abschießen". Doch nun der Quelltext.
Versuch 1:
Java:
import javax.swing.JFrame;
public class ersterTest extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @param args
*/
public static void main(String[] args) {
ersterTest Fenster = new ersterTest();
Fenster.setTitle("mein erstes Fenster");
Fenster.setSize(200,200);
Fenster.setResizable(true);
Fenster.setVisible(true);
Fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
// System.out.println("na Bitte1");
}
}
Java:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
class WindowQuitter extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.out.println("aus!");
System.exit( 0 );
}
}
public class ersterTest extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @param args
*/
public static void main(String[] args) {
ersterTest Fenster = new ersterTest();
WindowQuitter wquit = new WindowQuitter();
Fenster.addWindowListener( wquit );
Fenster.setTitle("mein erstes Fenster");
Fenster.setSize(200,200);
Fenster.setResizable(true);
Fenster.setVisible(true);
// Fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
// System.out.println("na Bitte1!");
}
}
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ersterTest extends JFrame implements ActionListener {
/**
*
*/
JButton Austaste;
private static final long serialVersionUID = 1L;
public ersterTest()
{
// this.getContentPane().setLayout(new FlowLayout());
Austaste = new JButton("Aus!");
Austaste.addActionListener(this);
this.getContentPane().add(Austaste);
}
public void actionPerformed( ActionEvent evt)
{
System.out.println("Taste gedrückt!");
System.exit(0);
}
/**
* @param args
*/
public static void main(String[] args) {
ersterTest Fenster = new ersterTest();
Fenster.setTitle("mein erstes Fenster");
Fenster.setSize(200,200);
Fenster.setResizable(true);
Fenster.setVisible(true);
Fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
// System.out.println("na Bitte1!");
}
}
Das erstellte Fenster läßt sich verkleinern, vergrößern, verstecken, wiederherstellen aber eben nicht durch einen Klick auf das X beenden (komisch ist das es manchmal, eher selten, klappt). Im Versuch 3 reagiert die Taste überhaupt nicht, sie wird nicht einmal optisch gedrückt (umgezeichnet). Ich habe den Verdacht das vom Programm keine Ereignisse verarbeitet werden.
Es muß ja in Java auch irgendwo eine Nachrichtenschleife geben. Wo?
Übersehe ich etwas?
fragende Grüße Martin