Entwickler-Ecke
Alle Sprachen - Alle Plattformen - Java GUI: Punkte an Mauskoordinaten zeichnen
LINUS19 - Mi 20.12.17 19:06
Titel: Java GUI: Punkte an Mauskoordinaten zeichnen
Hallo,
wie bekomme ich es hin das die Koordinaten von der Maus an die paint methode übermittelt werden und erst dort gezeichnet wird( bei einem Frame)
Ich hatte das nämlich so gemacht:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| class Maus extends MouseAdapter { public void mousePressed(MouseEvent event) { Graphics g = getGraphics(); int px = event.getX(); int py = event.getY(); g.setColor(Color.RED); g.fillRect(((int)px/bx)*bx, ((int)py/hy)*hy, bx, hy); // Quadrate werden gefärbt bei Mausklick } } |
Das Problem dabei ist aber das wenn man das Fenster verkleinert und dann wieder aufmacht, das die Quadrate dann nicht mehr gefärbt sind.
LG
LINUS19
Moderiert von Th69: Titel geändert (war nur "Java GUI").
Symbroson - Mi 20.12.17 19:29
Zitat: |
Das Problem dabei ist aber das wenn man das Fenster verkleinert und dann wieder aufmacht, das die Quadrate dann nicht mehr gefärbt sind. |
theoretisch brauchst du dafür ein 'OnResize' Event welches aufgerufen wird, wenn das Fenster skaliert wird. Ich empfehle mal danach zu suchen (zusammen mit deiner Grafik-lib logischerweise)
Delete - Do 21.12.17 10:35
- Nachträglich durch die Entwickler-Ecke gelöscht -
LINUS19 - Do 21.12.17 18:20
Hallo,
Ich habe das ganze jetzt so gemacht, es funktioniert aber immer noch nicht. Auf die Klicks wird reagiert dann wird nämlich true ausgegeben, aber die Rechtecke werden immer noch nicht gefärbt.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| boolean clicked=false; Point p=new Point();
public void paint(Graphics g) { if(clicked==true) g.setColor(Color.RED); g.fillRect(((int)p.x/bx)*bx, ((int)p.y/hy)*hy, bx, hy); }
public void mousePressed(MouseEvent event) { clicked=true; System.out.println(clicked); // Auf die Klicks wird reagiert p.x=getX(); p.y=getY(); repaint(); } |
Delete - Fr 22.12.17 02:06
- Nachträglich durch die Entwickler-Ecke gelöscht -
LINUS19 - Fr 22.12.17 11:27
Danke dir.
Hab nur noch 2 Fragen.
1 .Warum muss die Methode ùberschrieben werden?
2.Wieso formMousePressed, hab sonst nur MousePressed verwendet.
LG
LINUS19
Delete - Fr 22.12.17 11:55
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!