У меня есть 3 задания относительно моего кода 1 ==> Как удалить выбранную форму в моем коде; когда я нажимаю правой кнопкой мыши, каждая фигура удаляется, 2 ==> Я ПОЛНОСТЬЮ не знаю, как выделить перекрывающиеся: 3 ==> прямо сейчас, когда я нажимаю на свою JPanel, форму, нарисованную из точки, где была нажата мышь, где как это должно быть в центре указателя мышиКак выделить перекрываемую область между двумя фигурами
Заранее спасибо На самом деле я новичок в Java. это мой код,
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Shape;
import javax.swing.JPanel;
import javax.swing.JButton;
import Delete.Selection;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.Area;
import java.util.ArrayList;
public class MyPanel extends JPanel {
ArrayList<MyRect> list = new ArrayList<MyRect>();
public MyPanel() {
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1) {
MyRect r = new MyRect(e.getX(), e.getY());
list.add(r);
repaint();
}
else {
list.clear();
repaint();
}
}
}
);
setPreferredSize(new Dimension(600, 400));
setBackground(Color.CYAN);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
for (int i = 0; i < list.size(); i++) {
MyRect r = list.get(i);
g.fillRect(r.x, r.y, r.w, r.h);
}
}
class MyRect {
int x, y, w=100, h=100;
Color c = Color.BLACK;
public MyRect(int x, int y, int w, int h, Color color) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
this.c = color;
}
public MyRect(int x, int y) {
this.x = x;
this.y = y;
}
}}
Что-то вроде [это] (http://stackoverflow.com/questions/22160245/intersection-of-two-rectangles-with-paintcomponent/22160470#22160470) или [это] (http://stackoverflow.com/ вопросы/15514738/java-help-overlapping-rectangles-that-paint-a-new-color-where-the-rectangles-ov/15514834 # 15514834) или [this] (http://stackoverflow.com/questions/20927189/обнаружение столкновения из-двух-спрайтов-что-можно-вращать/20928531 # 20928531)? – MadProgrammer
@MadProgrammer. Да, сэр, что-то вроде этого, –