JAVA学习日志之画图板
作者:互联网
画图板
ActionListener (接口,动作监听器,有一个抽象方法)
实现接口的方式:
用我们自己写的类去实现接口
重写接口中未实现的抽象方法
界面 JFrame -顶级容器
Graphics (图形) —画笔/画布 可以让我们的程序在屏幕上绘制
MouseListener -鼠标监听器 (有五个抽象方法) 都需要重写 不管这个抽象方法有没有用到
实现一个画图板的步骤
·实现一个画图板容器/用来绘画的面板
·实现鼠标监听器-实现抽象方法
·从绘画的面板上取到Graphics
·将画笔对象传递到监听器中
·根据监听响应的方法来取到相应的坐标值(直线:再按下时的到起点位置,在释放时得到终点位置)
·最后用Graphics 的方法(drawLine())等来绘制
package DrawPad;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class DrawPadUI {
public static void main(String[] args) {
DrawPadUI drawPadUI = new DrawPadUI();
drawPadUI.showUI();
}
public void showUI() {
JFrame jf = new JFrame(); //顶级容器 /面板
jf.setTitle("画图板");
jf.setSize(800, 600);
jf.setLayout(new FlowLayout());
//设置程序关闭的功能
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置居中显示
jf.setLocationRelativeTo(null);
//显示
jf.setVisible(true);
//創建一個實現了監聽器接口的類的對象
DrawListener dl = new DrawListener();
jf.addMouseListener(dl);
//画笔对象
Graphics g = jf.getGraphics();
dl.g=g;
}
}
package DrawPad;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class DrawListener implements MouseListener{
int x1,y1,x2,y2;
Graphics g;
public void mouseClicked(MouseEvent e) {
System.out.println("点击");
}
public void mousePressed(MouseEvent e) {
x1 = e.getX();
y1 = e.getY();
System.out.println("按下"+x1+"==x1 y1=="+y1);
}
public void mouseReleased(MouseEvent e){
x2 = e.getX();
y2 = e.getY();
System.out.println("释放"+x2+"==x2 y2=="+y2);
g.drawLine(x1, y1, x2, y2);
}
public void mouseEntered(MouseEvent e){
System.out.println("进入");
}
public void mouseExited(MouseEvent e){
System.out.println("离开");
}
}
标签:JAVA,java,void,public,画图板,Graphics,import,jf,日志 来源: https://blog.csdn.net/qq_44712437/article/details/92406637