⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch7_e7_21.java

📁 各种关于JAVA的初级编程
💻 JAVA
字号:
import java.applet.Applet; 
import java.awt.*;
import java.awt.event.*;

import java.util.*;

public class ch7_e7_21 extends Applet implements 
    MouseListener, MouseMotionListener, KeyListener
{
    Vector myRectVector = new Vector();
    int beginX=0, beginY=0, endX=0, endY=0;
    public void init()
    {
        this.addMouseListener(this);
        this.addMouseMotionListener(this);
        this.addKeyListener(this);
    }
    public void paint(Graphics g)
    {
        int x1,x2,y1,y2;
        
        if(beginX < endX)
        {
            x1 = beginX;
            x2 = endX;
        }
        else
        {
            x1 = endX;
            x2 = beginX;
        }
        if(beginY < endY)
        {
            y1 = beginY;
            y2 = endY;
        }
        else
        {
            y1 = endY;
            y2 = beginY;
        }
        g.drawRect(x1,y1,x2-x1,y2-y1);
        
        for(Enumeration e=myRectVector.elements(); 
            e.hasMoreElements(); )
        {
            Rectangle rect = (Rectangle)(e.nextElement());
            g.drawRect((int)rect.getX(),(int)rect.getY(),
                (int)rect.getWidth(),(int)rect.getHeight());
        }
    }
        
    public void mouseClicked(MouseEvent me)
    {
    }    
    public void mouseEntered(MouseEvent me)
    {
    }
    public void mouseExited(MouseEvent me)
    {
    }
    public void mousePressed(MouseEvent me)
    {
        beginX = endX = me.getX();
        beginY = endY = me.getY();   
    }
    public void mouseReleased(MouseEvent me)
    {
        myRectVector.add(new Rectangle(
            Math.min(beginX,endX), Math.min(beginY,endY), 
            Math.abs(endX-beginX), Math.abs(endY-beginY)));
    }
    public void mouseMoved(MouseEvent me)
    {
        showStatus("(" + me.getX() + "," + me.getY() + ")");
    }
    public void mouseDragged(MouseEvent me)
    {
        endX = me.getX();
        endY = me.getY();
        showStatus("(" + endX + "," + endY + ")");
        repaint();
    }
    public void keyPressed(KeyEvent ke)
    {
    }
    public void keyReleased(KeyEvent ke)
    {
    }
    public void keyTyped(KeyEvent ke)
    {
        if(ke.getKeyChar()=='q')
        {
            myRectVector.removeAllElements();
            beginX = endX = 0;
            beginY = endY = 0;
            repaint();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -