欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java画笔的简单实用方法

程序员文章站 2024-02-25 19:16:57
        java中提供了画笔,可以使用画笔做出界面上的任何东西,接下来先熟悉一下画笔的使用过程...

        java中提供了画笔,可以使用画笔做出界面上的任何东西,接下来先熟悉一下画笔的使用过程,以画一条线为例。

源码:

import java.awt.graphics;
import java.awt.event.mouseevent;
import java.awt.event.mouselistener;

import javax.swing.jframe;
import javax.swing.jpanel;

/**
 * 画笔的初始用
 * 
 * @author m_wbcg
 * 
 */
public class paintbrush extends jframe implements mouselistener {
	// 画笔初始化
	graphics g;
	// 坐标的起点和终点的初始化
	int x1, y1, x2, y2;

	public paintbrush() {
		// todo auto-generated constructor stub
		// 创建获得画笔的面板
		jpanel drawpanel = new jpanel();
		// 给窗体添加面板
		add(drawpanel);
		settitle("画笔");
		setsize(500, 500);
		setvisible(true);
		// 画笔获取要在可见之后,设置成全局属性
		g = drawpanel.getgraphics();
		drawpanel.addmouselistener(this);
	}

	public static void main(string[] args) {
		new paintbrush();
	}

	@override
	public void mouseclicked(mouseevent e) {
		// todo auto-generated method stub

	}

	@override
	public void mousepressed(mouseevent e) {
		// todo auto-generated method stub
		x1 = e.getx();
		y1 = e.gety();
	}

	@override
	public void mousereleased(mouseevent e) {
		// todo auto-generated method stub
		x2 = e.getx();
		y2 = e.gety();
		g.drawline(x1, y1, x2, y2);
		x1 = x2 = y1 = y2 = 0;
	}

	@override
	public void mouseentered(mouseevent e) {
		// todo auto-generated method stub

	}

	@override
	public void mouseexited(mouseevent e) {
		// todo auto-generated method stub

	}
}

        在此就可以引申出很多的问题,怎样在一边画线的时候就可以看到线的形成?怎样去画一条直线?在画完一条直线后最小化该程序后重新打开线段消失?怎样在画完直线后关闭掉程序第二次打开还存在?

        以上就是本文的全部内容,希望对大家有所帮助!