📄 app18_12.java
字号:
// app18_12,拖拽鼠标绘图
import java.awt.*;
import java.awt.event.*;
public class app18_12 extends Frame implements MouseMotionListener,MouseListener
{
static app18_12 frm=new app18_12();
static private int x1[],y1[];
private int i=0;
private int k;
boolean t=false;
public static void main(String args[])
{
frm.setTitle("Free drawing");
frm.setSize(200,150);
frm.addMouseListener(frm); // 设置MouseListener
frm.addMouseMotionListener(frm); // 设置MouseMotionListener
frm.setVisible(true);
}
public void mousePressed(MouseEvent e)
{
x1[i]=e.getX(); // 取得鼠标按下时的X坐标 (绘图起始点是X坐标)
y1[i]=e.getY(); // 取得鼠标按下时的Y坐标 (绘图起始点是Y坐标)
}
public void mouseDragged(MouseEvent e)
{
Graphics g=getGraphics();
x1[i+1]=e.getX(); // 取得鼠标拖拽时的X坐标
y1[i+1]=e.getY(); // 取得鼠标拖拽时的Y坐标
g.drawLine(x1[i],y1[i],x1[i+1],y1[i+1]); // 绘出(x1,y1)到(x2,y2)的连线
x1[i]=x1[i+1]; // 更新绘图起始点的X坐标
y1[i]=y1[i+1]; // 更新绘图起始点的Y坐标
}
public void paint(Graphics g)
{
int j;
if(t==true)
for(j=0;j<k;j++)
g.drawLine(x1[i],y1[i],x1[i+1],y1[i+1]);
}
public void mouseMoved(MouseEvent e){}
public void mouseReleased(MouseEvent e){
t=true;
k=i;
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -