/********************************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Das Programm zeigt den Umgang mit Fenster- und Maus-Ereignissen. */ /********************************************************************/ import java.awt.*; import java.awt.event.*; import javax.swing.*; class EventTestFrame extends JFrame { JTextField textMouse, // zur Ausgabe der Ereignisse des MouseListeners textMouseMotion, // zur Ausgabe der Ereignisse des MouseMotionListeners textWindow; // zur Ausgabe der Ereignisse des WindowListeners JFrame referenzFrame; // Frame, bezueglich dessen die Ereignisse abgefragt werden EventTestFrame(String s) { // Erzeugen des Rahmens des Hauptfensters: super(s); Container c = getContentPane(); c.setLayout(new FlowLayout()); c.setForeground(Color.black); // Hinzufuegen der Textfelder zur Ausgabe der erkannten Ereignisse: textMouse = new JTextField(25); textMouse.setFont(new Font("Arial",Font.BOLD,20)); textMouse.setForeground(Color.blue); c.add(textMouse); textMouseMotion = new JTextField(25); textMouseMotion.setFont(new Font("Arial",Font.BOLD,20)); textMouseMotion.setForeground(Color.blue); c.add(textMouseMotion); textWindow = new JTextField(25); textWindow.setFont(new Font("Arial",Font.BOLD,20)); textWindow.setForeground(Color.blue); c.add(textWindow); // Komponenten anordnen und sichtbar machen: setLocation(100,200); setSize(500,150); setVisible(true); // Erzeugen des Frames, dessen Ereignisse abgefragt werden: referenzFrame = new JFrame(); referenzFrame.setLocation(100,360); referenzFrame.setSize(200,200); referenzFrame.setVisible(true); referenzFrame.addMouseListener(new MeinMouseListener()); referenzFrame.addMouseMotionListener(new MeinMouseMotionListener()); referenzFrame.addWindowListener(new MeinWindowListener()); } // Listener für Maus-Ereignisse class MeinMouseListener implements MouseListener { public void mouseClicked(MouseEvent e) { System.out.println("Maustaste geclickt"); textMouse.setText("Maustaste geclickt"); } public void mousePressed(MouseEvent e) { System.out.println("Maustaste gedrueckt und festgehalten"); textMouse.setText("Maustaste gedrueckt und festgehalten"); } public void mouseReleased(MouseEvent e) { System.out.println("Maustaste losgelassen"); textMouse.setText("Maustaste losgelassen"); } public void mouseEntered(MouseEvent e) { System.out.println("Mause im Fenster"); textMouse.setText("Maus im Fenster"); } public void mouseExited(MouseEvent e) { System.out.println("Maus ausserhalb des Fensters"); textMouse.setText("Maus ausserhalb des Fensters"); } } // Listener für weitere Maus-Ereignisse class MeinMouseMotionListener implements MouseMotionListener { public void mouseMoved(MouseEvent e) { System.out.println("Maus bewegt"); textMouseMotion.setText("Maus bewegt"); } public void mouseDragged(MouseEvent e) { System.out.println("Maus mit gedrueckter Taste bewegt"); textMouseMotion.setText("Maus mit gedrueckter Taste bewegt"); } } // Listener für Fenster-Ereignisse class MeinWindowListener implements WindowListener { public void windowOpened(WindowEvent e) { System.out.println("Fenster geoeffnet"); textWindow.setText("Fenster geoeffnet"); } public void windowActivated(WindowEvent e) { System.out.println("Fenster aktiviert"); textWindow.setText("Fenster aktiviert"); } public void windowDeactivated(WindowEvent e) { System.out.println("Fenster deaktiviert"); textWindow.setText("Fenster deaktiviert"); } public void windowIconified(WindowEvent e) { System.out.println("Fenster in Icon transformiert"); textWindow.setText("Fenster in Icon transformiert"); } public void windowDeiconified(WindowEvent e) { System.out.println("Icon in Fenster transformiert"); textWindow.setText("Icon in Fenster transformiert"); } public void windowClosing(WindowEvent e) { System.out.println("Fenster schliesst sich"); textWindow.setText("Fenster schliesst sich"); } public void windowClosed(WindowEvent e) { System.out.println("Fenster geschlossen"); textWindow.setText("Fenster geschlossen"); } } } // Hauptprogramm: erzeugt den Frame public class FensterUndMausEvents { public static void main(String args[]) { new EventTestFrame("Event-Tests"); } }