永发信息网

java如何构造画笔工具

答案:3  悬赏:60  手机版
解决时间 2021-01-28 22:13
  • 提问者网友:夢醒日落
  • 2021-01-28 10:47
java如何构造画笔工具
最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-01-28 11:42
已运行成功,符合要求!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test1 extends JFrame{
DrawPane p;
JButton btn=new JButton("清除");
public Test1() {
p=new DrawPane();
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
p.repaint();
}
});
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p,"Center");
getContentPane().add(btn,"North");
setTitle("画板");
setSize(300,300);
setVisible(true);
}
public static void main(String[] args) {
new Test1();
}
}

class DrawPane extends JPanel {
int x1,y1,x2,y2;
boolean first=true;
public DrawPane() {
x1=x2=y1=y2=0;
MouseAdapter adapter=new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON1) {
x1=x2=e.getX();
y1=y2=e.getY();
}
}
public void mouseDragged(MouseEvent e) {
Graphics g=getGraphics();
if(first){
System.out.println("try");
x2=e.getX();
y2=e.getY();
draw(g);
first=false;
}
else{
x1=x2;
y1=y2;
x2=e.getX();
y2=e.getY();
draw(g);
}
}
public void mouseReleased(MouseEvent e) {
if(e.getButton()==MouseEvent.BUTTON1){
x1=x2=y1=y2=0;
}
}
};
addMouseListener(adapter);
addMouseMotionListener(adapter);

}

public void draw(Graphics g) {
g.drawLine(x1,y1,x2,y2);
}
}
全部回答
  • 1楼网友:duile
  • 2021-01-28 13:36
这个用来做练习?
  • 2楼网友:大漠
  • 2021-01-28 13:11
看你想在什么组件上画了,JPanel或者定制组件,为其添加Mouse监听器就行了,在监听器里面跟踪鼠标的位置变化,并画出鼠标所在的点
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯