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


相关推荐: 购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  如何快速启动建站代理加盟业务?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Linux系统命令中screen命令详解  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何在自有机房高效搭建专业网站?  黑客如何通过漏洞一步步攻陷网站服务器?  高性价比服务器租赁——企业级配置与24小时运维服务  在Oracle关闭情况下如何修改spfile的参数  Laravel怎么上传文件_Laravel图片上传及存储配置  微信小程序 配置文件详细介绍  长沙企业网站制作哪家好,长沙水业集团官方网站?  Android自定义控件实现温度旋转按钮效果  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何确保FTP站点访问权限与数据传输安全?  简历在线制作网站免费版,如何创建个人简历?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  php485函数参数是什么意思_php485各参数详细说明【介绍】  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Laravel如何记录自定义日志?(Log频道配置)  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  ,网页ppt怎么弄成自己的ppt?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  C++时间戳转换成日期时间的步骤和示例代码  香港服务器如何优化才能显著提升网站加载速度?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  JavaScript常见的五种数组去重的方式  如何用免费手机建站系统零基础打造专业网站?  利用python获取某年中每个月的第一天和最后一天  Python文件异常处理策略_健壮性说明【指导】  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  简单实现Android文件上传  如何快速上传建站程序避免常见错误?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  如何快速生成专业多端适配建站电话?  如何在橙子建站中快速调整背景颜色?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel怎么为数据库表字段添加索引以优化查询  Laravel PHP版本要求一览_Laravel各版本环境要求对照  如何快速搭建个人网站并优化SEO?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化