📄 ch7_e7_21.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 + -