Java画笔的简单实用方法

发布时间 - 2026-01-11 03:07:12    点击率:

        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

	}
}

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

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


# java  # 画笔的使用  # Java定义画板类的方法  # 用Java实现简单画板功能  # Java实现简单画画画板  # Java Swing实现画板的简单操作  # Java版画板的实现方法  # JAVA GUI自定义JPanel画板背景  # java基于GUI实现简单画笔小画板  # 就可以  # 画一  # 在此  # 要在  # 可以使用  # 为例  # 面上  # 画线  # 局属  # JFrame  # JPanel  # author  # extends  # javax  # swing  # implements  # int  # M_WBCG  # public  # paintBrush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: canvas 画布在主流浏览器中的尺寸限制详细介绍  如何用y主机助手快速搭建网站?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  大连 网站制作,大连天途有线官网?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  详解Android——蓝牙技术 带你实现终端间数据传输  如何在腾讯云服务器上快速搭建个人网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  教你用AI润色文章,让你的文字表达更专业  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何注册花生壳免费域名并搭建个人网站?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何实现本地化和多语言支持?(i18n教程)  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  详解jQuery中基本的动画方法  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  如何快速搭建虚拟主机网站?新手必看指南  如何快速完成中国万网建站详细流程?  JavaScript实现Fly Bird小游戏  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Bootstrap CSS布局之列表  Linux系统命令中tree命令详解  JavaScript模板引擎Template.js使用详解  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  深圳网站制作培训,深圳哪些招聘网站比较好?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何在云指建站中生成FTP站点?  如何将凡科建站内容保存为本地文件?  如何在万网利用已有域名快速建站?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  ,网页ppt怎么弄成自己的ppt?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】