📄 paintline.java
字号:
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MousePaint extends JPanel
{
int startX,startY;
int endX,endY;
ArrayList list,Array;
public MousePaint()
{
list=new ArrayList();
Array=new ArrayList();
addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
startX=e.getX();
startY=e.getY();
}
public void mouseReleased(MouseEvent e)
{
MyLine my=new MyLine(startX,startY,e.getX(),e.getY());
Array.add(my);
repaint();
}
});
addMouseMotionListener(new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
endX = e.getX();
endY = e.getY();
repaint();
}
});
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Iterator it=Array.iterator();
while(it.hasNext())
{
MyLine line=(MyLine)it.next();
line.drawMe(g);
}
g.drawLine(startX,startY,endX,endY);
}
public static void main(String[] args)
{
JFrame jf=new JFrame();
jf.getContentPane().add(new MousePaint(),BorderLayout.CENTER);
jf.setBounds(300,300,400,400);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class MyLine
{
private int startX,startY;
private int endX,endY;
public MyLine(int startX,int startY,int endX,int endY)
{
this.startX = startX;
this.startY = startY;
this.endX = endX;
this.endY = endY;
}
public void drawMe(Graphics g)
{
g.setColor(Color.black);
g.drawLine(startX,startY,endX,endY);
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -