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("离开");
    }

}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44712437/article/details/92406637