关于java中矩形选择的问题?

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:49:52
下面的代码是我做的关于绘制矩形的代码!其中,里面绘制矩形的部分是我从另一个类中返回的.要求按shift键的时候可以一次选择多个矩形.并且把存储的矩形存储起来(可以考虑用数组)这些是我的想法,一直没有做一个比较好的方案!来征求大家的意见.我现在要求的就是按shift键的时候可以选择对个矩形.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.awt.Rectangle;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class RectChoos extends JFrame {
private static final long serialVersionUID = 1L;
int[] a = { 100, 200, 300, 99 , 47, 199, 350};
int[] b = { 50, 150, 250, 49 , 37, 149, 300};
int[] c = { 50, 50, 50, 80 , 40, 80, 60};
int[] d = { 50, 50, 50, 80 , 40, 80, 60};
String[] str = { "显示第一个", "显示第二个", "显示第三个", "显示第四个","显示第五个","显示第六

你根据鼠标的选择画一个矩形(不用显示出来),矩形有一个方法叫public boolean intersects(Rectangle r);确定此 Rectangle是否与指定的 Rectangle r相交。如果两个矩形的交集为非空,则它们是相交的。如果用鼠标画出的矩形和其他矩形相交,就证明已经把他选进来了,让后就把这个矩形放到你想放的数组或是列表里面都可以。