G
Guest
Gast
Hallo,
ich habe folgendes Testszenario kreiert, bei dem ich auf einen Kreis klicken möchte der dann die Farbe wechseln soll. Gibt es eine Möglichkeit dieses zu handhaben, in meinem Szenario mit dem Shape Rectangle2D?
Hier die entsprechende Klasse mit meine Auserarbeitung:
Danke fuer eventuelle Unterstützung.
Grüsse
ich habe folgendes Testszenario kreiert, bei dem ich auf einen Kreis klicken möchte der dann die Farbe wechseln soll. Gibt es eine Möglichkeit dieses zu handhaben, in meinem Szenario mit dem Shape Rectangle2D?
Hier die entsprechende Klasse mit meine Auserarbeitung:
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;
public class TestFenster extends JComponent implements MouseListener {
Rectangle2D rect, rect1;
Shape[] rects = { rect = new Rectangle2D.Double(10, 10, 100, 100),
rect1 = new Rectangle2D.Double(200, 10, 100, 100), };
public TestFenster() {
}
public void paint(Graphics g) {
Graphics2D g2D = (Graphics2D) g;
for (int i = 0; i < rects.length; i++) {
g2D.setColor(Color.YELLOW);
g2D.fill(rects[i]);
}
addMouseListener((MouseListener) this);
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
paint(g);
}
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
if (rects[0].contains(x, y)) {
System.out.println("test1" + x);
System.out.println("test1" + y);
}
}
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
Danke fuer eventuelle Unterstützung.
Grüsse