news 2026/5/9 10:11:52

Java学习进程3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java学习进程3

Java学习进程3

简易画图工具实现步骤

画图工具:
1.展示画图工具的界面
2.监听器:鼠标监听器方法
3.画笔:在界面程序中显示图形内容,图形内容显示在哪个组件上,画笔就从该组件上获取
监听器
1.事件源:当前动作所发生的组件(swing):窗体
2.监听器:鼠标监听器方法:addMouseListener()
3.绑定事件处理类
作用域:一对大括号就是一个独立作用域{}
引用传递:一个类想用另一个类的里的组件/对象

example
在简易画图工具中显示直线,矩形,等腰三角形图形效果
DrawUI类

packagecom.yw.oop0508;importjavax.swing.*;importjava.awt.*;/** * @author YAN * @date 2026/5/8 20:31 * @description 画图工具 */publicclassDrawUI{//显示画图工具的界面publicvoidshowUI(){JFramejf=newJFrame();jf.setSize(800,800);jf.setTitle("画图工具");jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(3);jf.setVisible(true);//画笔,从窗体上获取画笔对象,一定要在窗体显示可见之后Graphicsg=jf.getGraphics();//给窗体添加鼠标监听器方法DrawListenerlistener=newDrawListener();jf.addMouseListener(listener);//传递画笔对象glistener.gr=g;}publicstaticvoidmain(String[]args){DrawUIui=newDrawUI();ui.showUI();}}

DrawListener类

packagecom.yw.oop0508;importjava.awt.*;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;/** * @author YAN * @date 2026/5/8 20:53 * @description 实现接口:implements * 实现接口一定要重写接口中所有的抽象方法 */publicclassDrawListenerimplementsMouseListener{//引用传递publicGraphicsgr;//保存传递过来的画笔对象//定义全局变量publicintx1,y1,x2,y2;publicvoidmouseClicked(MouseEvente){System.out.println("点击");}publicvoidmousePressed(MouseEvente){System.out.println("按下");//获取当前坐标值//局部变量:1.在方法(作用域)中定义的变量 2.方法的参数x1=e.getX();y1=e.getY();}publicvoidmouseReleased(MouseEvente){System.out.println("松开");x2=e.getX();y2=e.getY();//绘制线段// gr.drawLine(x1, y1, x2, y2);//绘制矩形// gr.drawRect(x1, y1, x2, y2);//绘制等腰三角形intd=x2-x1;gr.drawLine(x1,y1,x2,y2);gr.drawLine(x1,y1,2*x1-x2,y2);gr.drawLine(2*x1-x2,y2,x2,y2);}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}}

注:编写三角形时的画图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 10:09:24

Kubernetes存储类与持久化存储深度解析

Kubernetes存储类与持久化存储深度解析 Kubernetes存储概述 在Kubernetes中,持久化存储是保证应用数据持久性的关键组件。与容器的短暂性不同,持久化存储可以在Pod重启、迁移或删除后仍然保留数据。Kubernetes提供了一套灵活的存储抽象,包括P…

作者头像 李华
网站建设 2026/5/9 10:09:09

抖音视频批量下载终极指南:douyin-downloader 免费工具完整教程

抖音视频批量下载终极指南:douyin-downloader 免费工具完整教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…

作者头像 李华
网站建设 2026/5/9 10:08:11

C#与SQL Server

C#和SQL Server是微软技术栈中非常经典的一对组合,C#作为编程语言负责应用程序的逻辑,SQL Server作为数据库负责数据的存储和管理。 核心交互方式 C#程序与SQL Server通信,主要通过ADO.NET或基于它的各种ORM框架。 1、ADO.NET(原生方式) …

作者头像 李华
网站建设 2026/5/9 10:08:10

内容创作团队如何利用 Taotoken 聚合不同模型特长提升稿件生成效率

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 内容创作团队如何利用 Taotoken 聚合不同模型特长提升稿件生成效率 在内容创作团队的实际工作中,一篇高质量的稿件往往…

作者头像 李华
网站建设 2026/5/9 10:05:36

Cursor编辑器配置同步方案:基于Git与Shell脚本实现开发环境无缝漫游

1. 项目概述:一个为 Cursor 编辑器量身定制的配置同步方案如果你和我一样,是一个重度依赖 Cursor 这款“AI 原生”代码编辑器的开发者,那你一定遇到过这个痛点:辛辛苦苦在办公室的电脑上配置好了顺手的主题、快捷键、代码片段、AI…

作者头像 李华
网站建设 2026/5/9 10:01:31

Docker化部署OpenClaw爬虫:一键解决环境依赖与跨平台运行难题

1. 项目概述与核心价值最近在折腾一个名为 OpenClaw 的开源项目,它本质上是一个功能强大的网络爬虫与数据采集框架。如果你和我一样,经常需要从各种网站、API 或数据源中自动化地抓取、清洗和存储数据,那么 OpenClaw 绝对是一个值得深入研究的…

作者头像 李华