Java画笔的简单实用方法
时间:2019-04-01
本文章向大家介绍Java画笔的简单实用方法,主要包括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 } }
在此就可以引申出很多的问题,怎样在一边画线的时候就可以看到线的形成?怎样去画一条直线?在画完一条直线后最小化该程序后重新打开线段消失?怎样在画完直线后关闭掉程序第二次打开还存在?
以上就是本文的全部内容,希望对大家有所帮助!
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- python-剑指offer6-10
- 为什么DBA不让给MySQL数据库中加触发器呢?
- python-剑指offer11-15
- python-剑指offer16-20
- ArrayList源码学习
- Java程序员不缺对象,缺的是对象存储
- StringBuffer StringBulider String的区别
- 求X值问题
- python-剑指offer21-40
- Java8实战--引入流
- ThingJS数据对接方法介绍——Ajax
- python-剑指offer41-62
- 【python-opencv】读取、显示、写入图像
- WSL——windows上的linux子系统
- 【python-opencv】读取、显示、保存视频