1. 一个panel上面画了几幅画
2. 我得到了那几幅画的最大和最小坐标(并用蓝色的矩形框把其圈住)
3. 《未实现》当鼠标经过某个矩形区域时,巨型框变成红色,离开再换回到蓝色。本人的疑惑:
   我实现2的时候,用的是1.panel的Graphics去画框,同理3也用的是1.panel的Graphics去重画框
   以至于实现3的时候总是要重画1的那几幅图片
   怎样可以实现只画矩形框。

解决方案 »

  1.   

    、兄台看来最近在研究swing吼 可惜这块我不熟。
      

  2.   

    在最上面再叠一个panel透明的 这个我试过好使的
    呵呵
      

  3.   

    如果有的话能否发我一份:[email protected]
      

  4.   

     import javax.swing.*;
    import java.awt.*;
    import java.awt.image.*;public class MyFrame extends JFrame {    private static final Image image = Toolkit.getDefaultToolkit().getImage("C:\\车牌.jpg");
        JPanel p, p1;
        Graphics gp1;    public MyFrame() {
            this.setSize(800, 600);
            p = new MyPanel(image);
            p1 = new MyPanel();
            p1.setBounds(0, 0, 800, 600);
            p.setBounds(0, 0, 800, 600);
            p1.setOpaque(false);
            p1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {            public void mouseMoved(java.awt.event.MouseEvent evt) {
                    p1MouseMoved(evt);
                }
            });
            add(p);
            add(p1);
            this.setLocationRelativeTo(null);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setVisible(true);
        }    private void p1MouseMoved(java.awt.event.MouseEvent evt) {
            gp1 = p1.getGraphics();
            p1.paintImmediately(0, 0, 800, 600);
            gp1.setColor(new Color(1f, 0f, 0f, 1f));
            gp1.drawRect(evt.getX(), evt.getY(), 100, 100);
        }    public static void main(String[] args) {
            MyFrame frame = new MyFrame();
        }
    }class MyPanel extends JPanel {    private Image image = null;    public MyPanel(Image image) {
            super();
            this.image = image;
        }    public MyPanel() {
            super();
        }    protected void paintComponent(Graphics g) {
            g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);
        }

    测试应该没有什么问题
      

  5.   

    分层绘制,每种不同类型的图形绘制在不同的Swing对象上(一般来做是透明的JPanel)
      

  6.   

    分层绘制,每种不同类型的图形绘制在不同的Swing对象上(一般来做是透明的JPanel)