Java语法学习坐标体系/绘图

news2024/9/20 16:39:59

Java语法学习坐标体系/绘图

大纲

  1. 基本介绍
  2. 绘图

具体案例

1. 基本介绍

在这里插入图片描述

2.绘图

基本介绍:
在这里插入图片描述
注意每次自动调用,就会重新执行一次paint方法里的所有程序

先自定义面板

创建一个类继承JPanel,然后重写构造器,paint方法

class MyPanel extends JPanel {
    @Override
    public void paint(Graphics g) {
        super.paint(g);
    }
    
}

再调用里面的方法进行绘图(具体查找API)

注意是在我们重写的paint方法里绘制
在这里插入图片描述
对于第二点:
前面是左上角坐标,后面是右下角坐标
对于第三点:
设置的绘制椭圆的左上角的坐标,然后分别是宽和高

画图片(对应方法第六点)(左上角为坐标点)
  1. 获取图片的信息
    首先复制图片
    然后到out里面与该项目同名的文件上粘贴
    如图所示
    在这里插入图片描述
  2. 然后调用固定格式
    Image image = Toolkit.getDefaultToolkit().getImage(MyPanel.class.getResource(“/”))
    注意:这里的MyPanel,是我创建这个画板的名字,这个可以改变,然后是最后在getResource(“/”)中/代表根项目,后面再添加我们添加的图片的名字(文件类型也要写进去)
class MyPanel extends JPanel {
    //创建一个画板,画板名
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.drawOval(10,10,100,100);
        Image image = Toolkit.getDefaultToolkit().getImage(MyPanel.class.getResource("/QQ截图20240107001216.png"));
        g.drawImage(image,30,30,731,1087,this);
    }
  1. 最后调用g.drawImage方法,依次填入,我们上面创建的图片,图片起始的x,y,和我们图像对于的宽度,高度,最后指定在这个对象生成
设置字体(左下角为坐标点)

对应传入参数

 g.setFont(new Font("隶书",Font.BOLD,50));
        //第一个设置字体,第二个设置的粗细,最后设置大小
        g.drawString("孙孙你好",300,75);

让公共类继承 JFrame,并在构造器里创建画板

  1. 添加画板
  2. 设置画板的宽度,高度,
  3. 让画板可视化
  4. 最后在主方法里创建一个公共类的对象
public class tank extends JFrame {
    MyPanel myPanel ;
    //声明我们的画板
    public static void main(String[] args) {
	new tank();
	//创建公共类的对象
    }
    public tank(){
        //创造构造器
        myPanel = new MyPanel();
        //把画板实例化
        this.add(myPanel);
        //添加画板
        this.setSize(400,400);
        //设置画板的宽度,高度
        this.setVisible(true);
        //设置画板是否可以看见
    }
}
class MyPanel extends JPanel {
    //创建一个画板
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.drawOval(10,10,100,100);
    }
}

当关闭窗口就退出程序

利用setDefaultCloseOperation方法,再使用JFrame的EXIT_ON_CLOSE

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置当关闭窗口就退出程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1431750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习5-线性回归之损失函数

在线性回归中,我们通常使用最小二乘法(Ordinary Least Squares, OLS)来求解损失函数。线性回归的目标是找到一条直线,使得预测值与实际值的平方差最小化。 假设有数据集 其中 是输入特征, 是对应的输出。 线性回归的…

css1基础选择器

大纲 一.标签选择器 比较简单,前面直接写目标标签 二.类选择器 应用 例子 三.多类名选择器(调用时中间用空格隔开) 四.id选择器 应用 五.通配符选择器 应用 六.总结

淘宝镜像到期如何切换镜像及如何安装淘宝镜像

淘宝镜像到期如何切换镜像及如何安装淘宝镜像 一、淘宝镜像到期如何切换新镜像二、第一次使用淘宝镜像如何配置镜像 一、淘宝镜像到期如何切换新镜像 清空缓存:npm cache clean --force切换镜像源:npm config set registry https://registry.npmmirror.…

用友NC getFileLocal 任意文件下载

【产品介绍】 用友NC以“全球化集团管控、行业化解决方案、全程化电子商务、平台化应用集成”的管理业务理念而设计,采用J2EE架构和先进开放的集团级开发平台UAP,形成了集团管控8大领域15大行业68个细分行业的解决方案。 【漏洞介绍】 用友NC getFile…

debian12 解决 github 访问难的问题

可以在 /etc/hosts 文件中添加几个域名与IP对应关系,从而提高 github.com 的访问速度。 据搜索了解(不太确定),可以添加这几个域名:github.com,github.global.ssl.fastly.net,github.global.fa…

【实战】阿里智能编码助手通义灵码

文章目录 前言技术积累通义灵码是什么?Copilot是什么?通义灵码主要功能通义灵码有哪些优势?通义灵码支持语言/工具通义灵码接入方式通义灵码帮助中心 实战演示安装插件行/函数级实时续写自然语言生成代码代码优化单元测试生成代码注释生成解释…

Unity根据落点和抛物线运行时间,求初始力

抛物线运行时长为2秒: 抛物线运行时长为4秒: 原理就是: 在竖直方向只受重力,做匀加速直线运动,水平不受力,做匀速直线运动。 代码: public void Update(){if (Input.GetKeyDown(KeyCode.Space)…

生物素 PEG4 甲基四嗪,Biotin-PEG4-methyltetrazine,用于标记、追踪和分离特定的分子或细胞

生物素四聚乙二醇甲基四嗪,生物素 PEG4 甲基四嗪,Biotin-PEG4-methyltetrazine,用于标记、追踪和分离特定的分子或细胞 您好,欢迎来到新研之家 文章关键词:生物素四聚乙二醇甲基四嗪,生物素 PEG4 甲基四嗪…

前端vue/react项目压缩图片工具@yireen/squoosh-browser

想要在前端项目中压缩图片,然后再上传到后端保存,就需要一个压缩工具的帮助,暂时有两个依赖库可以选择:image-conversion和yireen/squoosh-browser,看了官方仓库地址和更新时间等详情,发现还是yireen/squoo…

2.04作业

1.请编程实现双向链表的头插,头删,尾插,尾删。 头插: 尾插: 头删: 尾删: 2.请编程实现双向链表按任意位置插入,删除,修改,查找。 插入: 删除&am…

贪心算法篇

“靠漫步,将生趣填饱~” 贪心算法简介? 贪心算法(Greedy Algorithm),也称为贪婪算法,是一种在解决问题时采取贪心策略的方法。其基本原理是很简单的: “在每个决策点上都选择当下看似最好的选项…

STM32F407移植OpenHarmony笔记9

继上一篇笔记,已经完成liteos内核的基本功能适配。 今天尝试启动OHOS和XTS兼容性测试。 如何启动OHOS? OHOS系统初始化接口是OHOS_SystemInit(void),在内核初始化完成后,就能调用。 extern void OHOS_SystemInit(void); OHOS_Sys…

异步解耦之RabbitMQ(二)_RabbitMQ架构及交换机

异步解耦之RabbitMQ(一)-CSDN博客 RabbitMQ架构 RabbitMQ是一个基于AMQP(Advanced Message Queuing Protocol)协议的消息代理中间件,它通过交换机和队列实现消息的路由和分发。以下是RabbitMQ的架构图: Producer(生产…

HubSpot营销自动化如何优化营销流程?

HubSpot营销自动化在优化营销流程、减少手动工作以及提高效率方面发挥着关键作用。以下是一些具体的方法和策略: 1. 自动化电子邮件营销: 利用HubSpot的电子邮件自动化功能,设置触发条件,使邮件发送根据用户行为或阶段自动进行。…

爬虫(二)使用urllib爬取百度贴吧的数据

下一期我就不用urllib来抓取数据了,因为urllib现在已经很少人用,大部分人用得是requests,requests也是基于底层urllib的一个模块。 首先我先来讲一下关于如何使用动态的UA! 动态UA就是指在自己创建的一个列表里随机选择一个UA当做…

【C/C++ 11】贪吃蛇游戏

一、题目 贪吃蛇游戏机制是通过控制蛇上下左右移动并吃到食物得分。 蛇头碰到墙壁或者碰到蛇身就游戏结束。 食物随机生成,蛇吃到食物之后蛇身变长,蛇速加快。 二、算法 1. 初始化游戏地图并打印,地图的边缘是墙,地图的每个坐…

移动Web——less

1、less-简介 less是一个CSS预处理器,Less文件后缀是.less。扩充了CSS语言,使CSS具备一定的逻辑性、计算能力注意:浏览器不识别Less代码,目前阶段,网页要引入对应的CSS文件VS code插件:Easy LESS&#xff…

初始数据库

华子目录 什么是数据库DBMS(数据库管理系统)数据库系统和文件系统的区别文件系统数据库系统对比区别优缺点总结 常见数据库关系型数据库ACID原则关系型数据库的优缺点优点缺点 非关系型数据库存储方式常见的非关系型数据库非关系型数据库的优缺点优点缺点…

OpenSSL:configure: error: OpenSSL library not found解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

MATLAB计算多边形质心/矩心

前言:不规则四边形的中心 不规则四边形的出心有多种定义,以下是最常见的三种: 1.重心:重心是四边形内部所有顶点连线交点的平均位置。可以通过求解四个顶点坐标的平均值来找到重心。 2.质心:质心是四边形内部所有质点…