public void addBotListeners() { for (MouseListener l : defaultMouseListeners) { canvas.removeMouseListener(l); } for (MouseMotionListener l : defaultMouseMotionListeners) { canvas.removeMouseMotionListener(l); } for (MouseWheelListener l : defaultMouseWheelListeners) { canvas.removeMouseWheelListener(l); } canvas.addMouseListener(this); canvas.addMouseMotionListener(this); canvas.addMouseWheelListener(this); }
// Konstruktordefinition public InnereKlassemitmainMethode() { super("Programmaufruf über eine innere Klasse"); setBounds(10, 10, 250, 150); getContentPane().setLayout(new BorderLayout()); malflaeche = new Canvas(); malflaeche.setBackground(Color.pink); malflaeche.setSize(100, 100); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); malflaeche.addMouseMotionListener(this); status = new JLabel(" "); getContentPane().add(status, BorderLayout.SOUTH); // Eine lokale Referenz vom Typ des Interface Action zeigt auf // ein Objekt vom Typ der inneren Klasse SelectColorAction Action select = new SelectColorAction(); // Zu einer JToolBar-Komponente wird eine JButton-Komponente, // welche die vorher definierte Aktion ausführt, hinzugefügt JToolBar toolbar = new JToolBar("Farbe wählen"); JButton b = toolbar.add(select); getContentPane().add(toolbar, BorderLayout.WEST); getContentPane().add(malflaeche, BorderLayout.EAST); setVisible(true); // Den Graphikkontext des Canvas ermitteln g = malflaeche.getGraphics(); }