创意画板——画一条直线
我前几篇文章已经讲了什么是继承,接口,然后我们来做个小游戏——画一条直线。首先java中含有许多已经定义好的接口和类,我们只需要去直接使用它们就好了,有什么关键字不认识,请参考我的前几篇文章。
import java.awt.Graphics;
import javax.swing.JFrame;
public class DrawUI { //创建一个画板窗口类
public void initUI() {
JFrame jf=new JFrame(); //创建一个窗口,理解就好了,这是固定的。
jf.setTitle("画板");
jf.setSize(400,200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭时退出
jf.setVisible(true);
Graphics g = jf.getGraphics(); // 用Graphics 来画图 ,固定句式。
DrawListener dl=new DrawListener(); // 创建鼠标监听器的对象
dl.g2=g; //将我们在鼠标监听器中的对象传入到画板中
jf.addMouseListener(dl); //将鼠标监听器传到画板中
}
public static void main(String[] args) {
DrawUI d =new DrawUI();
d.initUI();//输出我们的创意画板
}
}
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class DrawListener implements MouseListener {// 鼠标监听器当中一共有5个方法,我们虽然不全用,但是必须全是写出。
int x1,x2,y1,y2; // 定义四个变量,为下文的坐标做铺垫
Graphics g2;// 创建画笔
public void mouseClicked(MouseEvent e){
}
public void mousePressed(MouseEvent e){
x1=e.getX();
y1=e.getY();
System.out.println("按下");//按下的时候会产生两个坐标
}
public void mouseReleased(MouseEvent e){
x2=e.getX();
y2=e.getY();//松开的时候也会产生两个坐标
g2.drawLine(x1,y1,x2,y2);// 画笔的路线
System.out.println("松开");
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
}
可能有一些小问题我就没有特别指出了,有啥不懂的可以评论私信我,我们一起解决。