Сделать событие при клике по форме JComponent - Java
Формулировка задачи:
Допустим создал окно и нарисовал в нем красный квадрат
Мне надо при клике по этому квадрату узнать его координаты.
Возможно ли это в java в среде eclipse впринципе?
Спасибо за отклики
g.setColor(Color.red); g.fillRect(10, 10, 100, 100);
Решение задачи: «Сделать событие при клике по форме JComponent»
textual
Листинг программы
public class MclicXY extends JFrame{ public MclicXY() throws HeadlessException { setTitle("Tytle"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(600, 600); } @Override public void paint(Graphics g){ Rec1 rec1 = new Rec1(123, 325, 56, 98); rec1.paint(g); this.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if(e.getX()>rec1.x1 && e.getY()>rec1.y1 && e.getX()<rec1.x1+rec1.x2 && e.getY()<rec1.y1+rec1.y2){ JOptionPane.showMessageDialog(null, "Кординаты фигуры: Х-" + rec1.x1 + " Y-" + rec1.y1 + " Ширина-" + rec1.x2 + " Высота-" + rec1.y2); } } }); } public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { MclicXY f = new MclicXY(); } }); } } class Rec1{ int x1; int y1; int x2; int y2; public Rec1(int x1, int y1, int x2, int y2) { this.x1=x1; this.y1=y1; this.x2=x2; this.y2=y2; } public void paint(Graphics g){ Graphics2D g2 = (Graphics2D) g; g2.setColor(Color.red); g2.drawRect(x1, y1, x2, y2); g2.fillRect(x1, y1, x2, y2); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д