MouseListener auf JPanel

rix

Mitglied
Hallo, zusammen.

Ich bin ein blutiger Java-Anfänger, falls also das Thema im Anfänger-bereich angemessener ist: bitte verschieben.

Ich schreibe momentan ein Programm, das das Mandelbrot-Fraktal ausgibt. Um Zoom einbinden zu können, müsste das Programm auf einen Mausklick reagieren, was nicht funktioniert.

Nach einigem Probieren habe ich ein deutlich vereinfachtes Testprogramm geschrieben, um mich aufs Wesentliche zu konzentrieren. In dem folgenden Programm sollte (als Ziel), wenn man klickt, das Rechteck verschoben werden.

Könntet ihr mir Hinweise geben, warum das nicht funktioniert, bzw schlau leitende Rückfragen stellen? ;)

Java:
package test;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;

public class Test extends JPanel implements MouseListener{
    
    public static void main(String[] args) {
        Test mandel;
        mandel = new Test();
    }
     
    private int xstart,ystart,xend,yend;
    
    Test (){
        JFrame frame  =new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(new MyComponent());
        frame.setVisible(true);
        frame.setSize(1460 ,1000);
        frame.getContentPane().setBackground(Color.BLACK);
        
        xstart = 20;
        xend = 200;
        ystart = 20;
        yend = 200;
        
        frame.addMouseListener(this);
    }

    @Override
    public void mouseClicked(MouseEvent me) {   
            
            xstart = xstart + 20;
            xend = xend -20;
            ystart = ystart + 20;
            yend = yend - 20;
            repaint();     
    }
    
    public void mousePressed(MouseEvent me) {    }
    public void mouseReleased(MouseEvent me) {    }
    public void mouseEntered(MouseEvent me) {    }
    public void mouseExited(MouseEvent me) {    }


    class MyComponent extends JComponent {

        @Override
        public void paintComponent(Graphics g) {
            
            super.paintComponent( g );
            Graphics2D g2 = (Graphics2D) g;
            g2.drawRect(xstart,ystart,xend,yend);
            
        }
     
    }
}
 
S

SlaterB

Gast
löbliches Testprogramm,

du rufst repaint() am Test-Panel auf, welches aber mit dem sichtbaren JFrame und dem MyComponent-Objekt nicht in Verbindung steht,
merke dir das frame in einem Instanzattribut, rufe darauf repaint() auf, entferne die Vererbung JPanel für Test
oder gehe ganz anders für Test vor

setSize(600, 400)
wäre für andere User übrigens eher zumutbar ;)

setVisible(true);
besser IMMER als letzten Befehl, jedenfalls klar hinter setSize/Background
 
Zuletzt bearbeitet von einem Moderator:
V

vanny

Gast
Es scheint ja noch nicht zu Funktionieren.
Ich hatte mal ein ähnliches problem und habe dann für die Mausbewegung wärend des Klicks die mouseDragged()-Methode vom MouseMotionListener benutzt.

Vielleicht ist das ja schon des Rätsels Lösung.

Gruß Vanny
 

rix

Mitglied
löbliches Testprogramm,

Danke. :) Ich dachte halt, dass ich mich aufs eigentliche Problem konzentriere, und versuche, herauszufiltern, wo genau es schief läuft.

du rufst repaint() am Test-Panel auf, welches aber mit dem sichtbaren JFrame und dem MyComponent-Objekt nicht in Verbindung steht,
merke dir das frame in einem Instanzattribut, rufe darauf repaint() auf, entferne die Vererbung JPanel für Test
oder gehe ganz anders für Test vor

… und so schnell ging es dann. Ein Instanzobjekt hat es gelöst - Danke! :toll:

setSize(600, 400)
wäre für andere User übrigens eher zumutbar ;)

Ah, ein verstecktes Überbleibsel vom eigentlichen Programm. Sorry.

setVisible(true);
besser IMMER als letzten Befehl, jedenfalls klar hinter setSize/Background

Guter Punkt, danke.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Swing MouseListener im JPanel AWT, Swing, JavaFX & SWT 3
F JPanel + MouseListener AWT, Swing, JavaFX & SWT 5
J Swing Einbau MouseListener in JPanel AWT, Swing, JavaFX & SWT 3
H Swing JPanel in JTable mit MouseListener AWT, Swing, JavaFX & SWT 3
W JPanel, JLabel und MouseListener -> auf clicks reagieren AWT, Swing, JavaFX & SWT 5
A JPanels in JPanel und MouseListener AWT, Swing, JavaFX & SWT 3
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
ExceptionOfExpectation MouseListener-Objekte zu den Graphics-Objekten einfügen AWT, Swing, JavaFX & SWT 3
R Punkt von MouseListener hat falsche Koordinate AWT, Swing, JavaFX & SWT 2
J MouseListener wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 4
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
F ListCellRenderer mit JLabel und MouseListener AWT, Swing, JavaFX & SWT 4
D Event Handling MouseListener funktioniert seit Java 8 nicht mehr AWT, Swing, JavaFX & SWT 13
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
B Event Handling MouseListener Behält seine Variablen, auch wenn ich ein neus Objekt erstelle AWT, Swing, JavaFX & SWT 2
D Swing &MouseListener in einem JFrame, sinnig? AWT, Swing, JavaFX & SWT 11
U MouselIstener zu JFrame AWT, Swing, JavaFX & SWT 6
J Swing Button mit JTable und MouseListener AWT, Swing, JavaFX & SWT 8
JavaInBrain Swing Rückgabe aus MouseListener-Klasse AWT, Swing, JavaFX & SWT 3
A SWT SWT Scale und MouseListener AWT, Swing, JavaFX & SWT 7
J MouseListener und rechte Maustaste AWT, Swing, JavaFX & SWT 3
Q Swing MouseListener auf JTable geht nicht AWT, Swing, JavaFX & SWT 2
N Mit MouseListener X-Y Angaben vom Bild erfahren AWT, Swing, JavaFX & SWT 3
T MouseListener an Ecken von Polygonen hinzufügen AWT, Swing, JavaFX & SWT 5
A Individueller MouseListener ? AWT, Swing, JavaFX & SWT 7
B MouseListener im Renderer einer JComboBox AWT, Swing, JavaFX & SWT 3
P AWT MouseListener unklare abhandlung von Events AWT, Swing, JavaFX & SWT 3
M MouseListener/MouseMotionListener AWT, Swing, JavaFX & SWT 2
njans SWT MouseListener exited AWT, Swing, JavaFX & SWT 4
danx066 MouseListener macht was er will AWT, Swing, JavaFX & SWT 14
K MouseListener für Objekte auf einem Frame AWT, Swing, JavaFX & SWT 4
P JLabel Farbe/Bild ändern aus MouseListener heraus AWT, Swing, JavaFX & SWT 3
U Swing Generierung mehrerer Kreise per MouseListener AWT, Swing, JavaFX & SWT 16
Semox Swing JApplet: Problem MouseListener Anmeldung AWT, Swing, JavaFX & SWT 3
C JTappedPane Mouselistener auf Überschrift Registerkarte AWT, Swing, JavaFX & SWT 2
M MouseListener AWT, Swing, JavaFX & SWT 3
K AWT MouseListener linke und rechte Maustaste AWT, Swing, JavaFX & SWT 5
C Swing MouseListener Doppelklick-Geschwindigkeit AWT, Swing, JavaFX & SWT 4
N Swing MouseListener in JTable AWT, Swing, JavaFX & SWT 4
1 Eigene JComponent mit MouseListener versehen AWT, Swing, JavaFX & SWT 10
Developer_X AWT Component added keinen MouseListener AWT, Swing, JavaFX & SWT 7
R MouseListener wird nicht aufgerufen AWT, Swing, JavaFX & SWT 3
P JComboBox und MouseListener AWT, Swing, JavaFX & SWT 2
W MouseListener im editable ComboBox AWT, Swing, JavaFX & SWT 14
raptorrs Swing MouseListener reagiert nicht auf Instanz einer JTable AWT, Swing, JavaFX & SWT 6
multiholle Swing Mouselistener auf Parentpanel immer aktiv AWT, Swing, JavaFX & SWT 7
C MouseListener und ActionListener kombinieren AWT, Swing, JavaFX & SWT 17
M Komponenten einer unbestimmten Anzahl und MouseListener AWT, Swing, JavaFX & SWT 4
A MouseListener funktionert nie AWT, Swing, JavaFX & SWT 12
C Probleme mit Größe und mit MouseListener AWT, Swing, JavaFX & SWT 2
W MouseListener für jede Zelle einer JTable AWT, Swing, JavaFX & SWT 4
E MouseListener Problem AWT, Swing, JavaFX & SWT 4
D jButton mit ImageIcon & MouseListener AWT, Swing, JavaFX & SWT 5
S MouseListener zurückverfolgung auf element. AWT, Swing, JavaFX & SWT 7
B MouseListener / doppelklick geht net AWT, Swing, JavaFX & SWT 16
M JCheckBox Standard MouseListener entfernen AWT, Swing, JavaFX & SWT 13
hdi Wie mach ich diesen MouseListener AWT, Swing, JavaFX & SWT 4
G MouseListener & KeyListener AWT, Swing, JavaFX & SWT 4
H JComboBox reagiert nicht auf MouseListener AWT, Swing, JavaFX & SWT 5
2 Mouselistener AWT, Swing, JavaFX & SWT 2
W MouseListener, getClickCount und Doppelklick AWT, Swing, JavaFX & SWT 6
S swing komponenten mit mouselistener rotieren AWT, Swing, JavaFX & SWT 15
G JFrame,JLabel,MouseListener AWT, Swing, JavaFX & SWT 6
F Wie MouseListener bei TableModel anmelden? AWT, Swing, JavaFX & SWT 3
V Frage zu MouseListener --> mousePressed() AWT, Swing, JavaFX & SWT 5
C MouseListener für Spalte eines JTables AWT, Swing, JavaFX & SWT 4
K Problem mit 2 MouseListener. AWT, Swing, JavaFX & SWT 3
M MouseMotionListener oder mouseListener AWT, Swing, JavaFX & SWT 6
T JComboBox und MouseListener AWT, Swing, JavaFX & SWT 11
F MouseListener - Unhandled IOException AWT, Swing, JavaFX & SWT 5
padde479 Statusleiste mit MouseListener aktualisieren AWT, Swing, JavaFX & SWT 3
L Problem mit MouseListener, AdjustmentListener AWT, Swing, JavaFX & SWT 6
T MouseListener Problem AWT, Swing, JavaFX & SWT 3
F Mouselistener wird wiederholt aufgerufen AWT, Swing, JavaFX & SWT 3
G Frage zu MouseListener und speichern des Wertes (reflektion? AWT, Swing, JavaFX & SWT 6
B frage zu MouseListener AWT, Swing, JavaFX & SWT 5
O MouseListener - Wert-Übergabe AWT, Swing, JavaFX & SWT 3
S MouseListener auf einem einzelnen Tab setzen AWT, Swing, JavaFX & SWT 3
B MouseListener & Fenster schliessen AWT, Swing, JavaFX & SWT 3
G MouseListener AWT, Swing, JavaFX & SWT 4
G Tooltip sperrt MouseListener? AWT, Swing, JavaFX & SWT 6
S JComboBox und MouseListener AWT, Swing, JavaFX & SWT 5
D Koordinaten der Bildschirmposition auslesen (MouseListener?) AWT, Swing, JavaFX & SWT 7
A Klassenübergreifend MouseListener verwenden AWT, Swing, JavaFX & SWT 14
N "globaler" MouseListener (+MouseMotionListener) AWT, Swing, JavaFX & SWT 4
M ToolTipText für JTable mit MouseListener ohne anklicken? AWT, Swing, JavaFX & SWT 7
A MouseListener auf Bild legen ? AWT, Swing, JavaFX & SWT 16
S Mouselistener erzeugt kein Event in einem Menuitem AWT, Swing, JavaFX & SWT 2
J MouseListener AWT, Swing, JavaFX & SWT 3
C Mehrere MouseListener? AWT, Swing, JavaFX & SWT 7
U Keylistener und Mouselistener AWT, Swing, JavaFX & SWT 2
L Event-handling, MouseListener AWT, Swing, JavaFX & SWT 5
T Problem mit MouseListener bei JButton AWT, Swing, JavaFX & SWT 5
K mein keyListener scheint Konflict haben mit mouseListener AWT, Swing, JavaFX & SWT 6
G Problem mit MouseListener AWT, Swing, JavaFX & SWT 9
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben