permanente aktualisierung der Koordinaten der Maus auf einem Panel

Cem

Mitglied
Hallo

Ich habe angefangen eine gui zu bauen die ein paar Buttons, Textfelder und natürlich auch ein Panel :).

Dieses Panel soll später so zu sagen das Zeichenfeld von meinem Grahpenzeichner werden aber das ist sache von morgen :)

Ich habe für dieses Panel eine innere Klasse geschreiben die wie folgt aussieht

Code:
class DrawPanel extends JPanel implements MouseListener {


    public DrawPanel(int xPos, int yPos, int xSize, int ySize) {
        super();
        this.setBounds(xPos, yPos, ySize, ySize);
        this.setBackground(Color.black);
        this.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
        addMouseListener(this);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.WHITE);  

    }

    public void mouseClicked(MouseEvent e) {
    }

    public void mousePressed(MouseEvent e) {
       // System.out.println("Mouse pressed in: "+"X = "+ e.getX()+"   Y = "+ e.getY());
    }

    public void mouseReleased(MouseEvent e) {    
    }

    public void mouseEntered(MouseEvent e) {
       // System.out.println("Mouse entered in: "+"X = "+ e.getX()+"   Y = "+ e.getY());
    }

    public void mouseExited(MouseEvent e) {
    }
}

Ich habe es hinbekommen das er mir eine Consolenausgabe macht, die jedoch nur zb die Position im Panel angibt, an der gecklickt wurde oder an der die Maus in das Panel eingetreten ist.

Ich habe nun folgende Ziele:

1) Ich will es schaffen, das es mir alle 5-10 ms die Koordinaten aktualisiert und das ohne klicken zu müssen

2) das ich es mit Graphics, auf das panel Zeichnen lassen kann mit den Eigenschaften aus 1)


Ich hoffe ich habe mein problem gut geschildert sodas man mir auch gut helfen kann :)

lg Cem
 
Zuletzt bearbeitet:

madboy

Top Contributor
Implementiere den
Code:
MouseMotionListener
. Da gibt's eine Methode, die genau für dich gemacht ist:
Code:
mouseMoved
:)
 

Cem

Mitglied
haha danke :)

es hat mir geholfen so bin ich um aufwändige schleifenkunstrukionen gekommen ;)

aber wie verbinde ich mouseMoved mit Graphics ? sodas ich zB die ausgabe hier

Code:
 public void mouseMoved(MouseEvent e /*,Graphics g*/ ) {
        System.out.println("X = "+ e.getX()+"   Y = "+ e.getY());
       
 }

einfach auf das Panel zeichnen lassen kann ? geht das so wie mit dem /*,Graphics g*/ Angedeutet ? weil ich habs schon ausprobiert aber ich bekomm ne Exeption ;(

lg Cem
 

Meldanor

Bekanntes Mitglied
Zuersteinmal:

Speicher kein Graphics Objekt zwischen oder erstell ein eigenes, wenn du auf einem Panel zeichnen willst.

Zu deiner Lösung:

Speichere in einer Klassenvariable die x und y Koordinate zwischen, speicher dort die aktuellen Koordinaten zwischen, die du aus dem MouseMoved erhälst und in der paintComponent greifst du auf die zu.
 

Cem

Mitglied
danke für die antwort :) das ich mir auch schon gedacht

Aber wenn ich das mache wie bekomme ichs hin das mir mouseMoved nicht immer nur einmal in X und Y was reinlegt und dann einfach aufhört damit weil so macht mit paintComponent auch nur einmal was aufs panel egal wie viele kreise ich mit der maus darin drehe ???:L
 

Meldanor

Bekanntes Mitglied
Zeig mal deine jetzigen Codezeilen, am besten nur MouseMoved und paintComponent.
Weil so ganz verstehe ich dein jetziges Problem nicht.
 

Cem

Mitglied
die methode mouseMoved aktualisiert einfach die klassenvariablen x und y nicht deshalt legt es den wert einmal fest und das wars ich will aber das das ständig aktualisiert wird

hier der code:

das ist die paintComponent methode

Code:
@Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.WHITE);
        g.drawString("x = "+String.valueOf(x), 1, 15);
        g.drawString("y = "+String.valueOf(y), 1, 26);
    }

und hier die mouseMoved methode

Code:
public void mouseMoved(MouseEvent e) {
        x = e.getX();
        y = e.getY();
    }

die Variablen x und y sind auf die innerklasse DrawPanel beschränkt

hoffe das hilft dir weiter :) danke
 

eRaaaa

Top Contributor
die methode mouseMoved aktualisiert einfach die klassenvariablen x und y nicht deshalt legt es den wert einmal fest und das wars ich will aber das das ständig aktualisiert wird

naja, x und y werden doch ständig aktualisiert (es sei denn du hast nicht
Code:
 addMouseMotionListener(this);
aufgerufen) ..dein Problem ist doch aber viel mehr, dass du nicht
Code:
repaint()
; aufrufst ?
Java:
	@Override
	public void mouseMoved(MouseEvent e) {
		x = e.getX();
		y = e.getY();
		repaint();
	}

???
 

Cem

Mitglied
AHH!! ich freu mich soo danke XD an repaint() hab ich garnicht mehr gedacht :D

hab mal wieder den wald vor lauter bäumen nicht gesehen :D

vielen dank *freu* :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M TableView + Datenbank Aktualisierung AWT, Swing, JavaFX & SWT 4
N Aktualisierung des Fensters AWT Java ohne Ruckeln AWT, Swing, JavaFX & SWT 3
P Aktualisierung von jLabel in jFrames AWT, Swing, JavaFX & SWT 8
O JavaFX Aktualisierung der Scene AWT, Swing, JavaFX & SWT 1
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
F Textfeld Währungszahlen und automatische Aktualisierung AWT, Swing, JavaFX & SWT 14
J Denkfehler bei Aktualisierung eines GUI AWT, Swing, JavaFX & SWT 4
S JTable nach aktualisierung - neue Zeile nicht "klickbar" AWT, Swing, JavaFX & SWT 0
T Tetris - Gui Aktualisierung AWT, Swing, JavaFX & SWT 2
Y JFormattedTextfield - Aktualisierung und Beschränkung AWT, Swing, JavaFX & SWT 4
dzim TableView - keine Aktualisierung geänderter Items AWT, Swing, JavaFX & SWT 5
B Aktualisierung einer JList AWT, Swing, JavaFX & SWT 5
D JTable Aktualisierung nach hinzufügen eines Datensatzes AWT, Swing, JavaFX & SWT 7
B Problem bei der Aktualisierung des Frames AWT, Swing, JavaFX & SWT 6
lumo SWT Resize und aktualisierung der gui AWT, Swing, JavaFX & SWT 6
B GUI Aktualisierung aus/und eventListener AWT, Swing, JavaFX & SWT 3
S Swing Aktualisierung Fensters AWT, Swing, JavaFX & SWT 7
K Modaler Dialog aber trotzdem Aktualisierung des MainFrames AWT, Swing, JavaFX & SWT 6
W Swing Aktualisierung des Bildes AWT, Swing, JavaFX & SWT 4
C JTable-Aktualisierung leidiges Thema AWT, Swing, JavaFX & SWT 18
Plastagen JTextArea CaretPosition Aktualisierung AWT, Swing, JavaFX & SWT 10
U JComboBox: (Vor)auswahl nach Aktualisierung AWT, Swing, JavaFX & SWT 2
kodela Swing Problem mit sofortiger Aktualisierung eine Textfeldes AWT, Swing, JavaFX & SWT 8
J Progressbar aktualisierung nach file übergabe AWT, Swing, JavaFX & SWT 7
T Aktualisierung einer JComboBox -> RepaintProblem! AWT, Swing, JavaFX & SWT 3
H Aktualisierung Gui AWT, Swing, JavaFX & SWT 5
G Bessere Aktualisierung eines Frames AWT, Swing, JavaFX & SWT 5
P Problem bei Aktualisierung eines JPanels AWT, Swing, JavaFX & SWT 2
S Aktualisierung der GUI AWT, Swing, JavaFX & SWT 6
S Aktualisierung in regelmäßigen Abständen AWT, Swing, JavaFX & SWT 2
L Problem mit der aktualisierung von JTree und Text Area AWT, Swing, JavaFX & SWT 22
F Aktualisierung während MOUSE_PRESSED AWT, Swing, JavaFX & SWT 4
M swt - problem mit aktualisierung des tableeditors AWT, Swing, JavaFX & SWT 3
G Aktualisierung der Ausgabe in SWT AWT, Swing, JavaFX & SWT 2
A Aktualisierung eines Bildes innerhalb einer Komponente AWT, Swing, JavaFX & SWT 7
A JTable - Aktualisierung und Spaltenbreite AWT, Swing, JavaFX & SWT 5
D Aktualisierung von GUI AWT, Swing, JavaFX & SWT 11
W JTextArea als Logausgabe und Aktualisierung AWT, Swing, JavaFX & SWT 3
C zu späte aktualisierung/repaint AWT, Swing, JavaFX & SWT 3
X Probleme mit aktualisierung durch Repaint() Methode AWT, Swing, JavaFX & SWT 3
R Thread-Problem (Aktualisierung von JLabel-Komponente) AWT, Swing, JavaFX & SWT 9
M problem mit textfield-aktualisierung AWT, Swing, JavaFX & SWT 4
G JScrollPane problem mit aktualisierung der daten AWT, Swing, JavaFX & SWT 3
L Aktualisierung bei JTabbedPane AWT, Swing, JavaFX & SWT 3
T Swing bei Realtime-Aktualisierung zu langsam? AWT, Swing, JavaFX & SWT 10
M JCombobox aktualisierung, beim wecheseln des Tab JTabbedPane AWT, Swing, JavaFX & SWT 3
C Polygon Koordinaten richtig sortieren AWT, Swing, JavaFX & SWT 7
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
S JButtons an Koordinaten setzen AWT, Swing, JavaFX & SWT 3
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
B Transformation und Darstellung von Koordinaten AWT, Swing, JavaFX & SWT 5
J in actionPerformed() Koordinaten ändern AWT, Swing, JavaFX & SWT 9
P JavaFX Szenegraph - Koordinaten von Children einer Group AWT, Swing, JavaFX & SWT 0
C Bild Koordinaten AWT, Swing, JavaFX & SWT 6
S Polygon mit double-Koordinaten AWT, Swing, JavaFX & SWT 2
K 3D-Grafik 2 "Boxen" auf unterschiedlichen Koordinaten AWT, Swing, JavaFX & SWT 2
Luk10 Fragen zum Koordinaten System AWT, Swing, JavaFX & SWT 3
K LayoutManager Buttons auf bestimmte x und y Koordinaten AWT, Swing, JavaFX & SWT 2
W 2D-Grafik Koordinaten nicht immer die selben AWT, Swing, JavaFX & SWT 9
J Koordinaten von JButton AWT, Swing, JavaFX & SWT 2
C Caret Position mit X-Y-Koordinaten ermitteln AWT, Swing, JavaFX & SWT 2
D Swing JTable, Zellen-Farbe über Koordinaten ändern AWT, Swing, JavaFX & SWT 9
Y AWT Maus Koordinaten abspeichern in eine Textfile AWT, Swing, JavaFX & SWT 3
D Swing JViewPort, Absolut Koordinaten berechnen. AWT, Swing, JavaFX & SWT 2
T SWT Canvas Koordinaten per MouseMove auslesen AWT, Swing, JavaFX & SWT 1
S Koordinaten aus Array verwenden zum zeichnen auf JPanel?! AWT, Swing, JavaFX & SWT 3
S Swing Text -> HTML: Caret-Koordinaten verschoben AWT, Swing, JavaFX & SWT 6
aze SwingConstants.Center Koordinaten für JLabel herausfinden AWT, Swing, JavaFX & SWT 6
T Choice "gezielt" darstellen aber wie - mit Koordinaten aber wie? AWT, Swing, JavaFX & SWT 6
D Koordinaten von einem Kreissegment berechnen AWT, Swing, JavaFX & SWT 6
D Mouse Koordinaten AWT, Swing, JavaFX & SWT 2
R drawString mit double Koordinaten AWT, Swing, JavaFX & SWT 5
M Grafik flexibel an berechneten Koordinaten positionieren AWT, Swing, JavaFX & SWT 4
N Alle Pixel-Koordinaten von z.B. g.drawLine(.) speichern AWT, Swing, JavaFX & SWT 7
N Koordinaten erfassen AWT, Swing, JavaFX & SWT 5
S Koordinaten/Raster (ähnlich Schachbrett) anzeigen/ausblenden AWT, Swing, JavaFX & SWT 10
F Ermittlung der X- und Y- Koordinaten im Tree bei Tastaturst. AWT, Swing, JavaFX & SWT 5
D Koordinaten der Bildschirmposition auslesen (MouseListener?) AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben