求助:java关于绘图的问题!

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:26:38
我想实现的结果就是,我用数组分别存储了位置信息和文字信息.现在我已经到的就是,利用这些位置信息绘制矩形,利用鼠标事件实现,当选择其中矩形的时候,矩形变成红色,里面其中包括了矩形的位置信息的判断.遇到了难题,就是我想把2个矩形框子或者多个矩形框子合并.前提是我选中其中一个矩形框,按shift键,在选择另一个矩形框(当然选择的时候框子也变红色),此时选择一个合并按钮,选中的矩形合并成一个矩形.就是判断起左边,上边,下边和右边的坐标,取最大值.同时原来的矩形框就消失了.不知道该怎么实现.请帮帮忙.附代码.下面是我现在所实现的代码:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;

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 = { "显示第一个", "显示第二个", "显示第三个", "显示第四个","

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class RectChoose extends JFrame implements ActionListener,KeyListener
{
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 =
{"显示第一个", "显示第二个",