图形化界面如何给画笔加粗

2023-05-16

 public void actionPerformed(ActionEvent e) {
    	String bstr=e.getActionCommand();//获得该组件上的文本内容;\
    	str =e.getActionCommand();
    	//判断是否需要给画笔加粗;setStoke方法可以给画笔加粗;了解到需要填入的对象是一个接口正常情况下
    	//是要创建一个类去实现接口的抽象方法,但是搜接口Stroke可以知道类BasicStroke已经实现了重写
    	if (str.equals("加粗"))
    	{
    		BasicStroke stroke =new BasicStroke(2.0f);//用一个实例去承载,设置画笔的信息
    		Graphics2D gr2 = (Graphics2D) gr;//不明白为什么gr2被设置了画笔大小,结果gr也被设置了大小
    		gr2.setStroke(stroke);
    	}
    	if (str.equals("恢复画笔")) 
    	{
    		BasicStroke stroke =new BasicStroke(1.0f);//用一个实例去承载,设置画笔的信息
    		Graphics2D gr2 = (Graphics2D) gr;//不明白为什么gr2被设置了画笔大小,结果gr也被设置了大小
    		gr2.setStroke(stroke);
    	}

1.首先知道在Graphics 组件当中没有设置画笔粗细的方法

2.所以引入Graphics2D 组件,并用该类(组件)又创建了了一个实例

3.gr2.setStroke(stroke)

stroke的作用:该实例存储画笔粗细信息,将其通过setStroke()函数传递给对象gr2;

观察setStroke()方法的源代码

 看到其参数的类型需要是一个类的实例(Stroke)

看Stroke的源代码

 观察到Stroke是一个接口,如果要在setStroke()当中设置参数的话,按照原来方法需要重新写一个类来继承接口,重写接口的抽象方法

但是Java当中已经有类继承了该接口;我们可以直接使用可以使得结果简便;直接引用继承了的类即可;然后用该类创建实例;将画笔粗细信息存储在实例当中,在将该实例添加给画笔即可

文档查询图片

 

 找到了已经有BrokeStroke类继承了该接口

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图形化界面如何给画笔加粗 的相关文章

  • MATLAB021b与VS2022混编

    MATLAB2021b与VS2022混编 前言 目前在做一个大创项目 xff0c 其中用到关于Matlab与C的混合编程 xff0c 特此记录 Matlab2021b 如图所示 xff0c 红线划出的是即将使用的 c函数 xff0c 在左侧
  • 香橙派5使用NPU加速yolov5的实时视频推理(一)

    前言 xff1a 寒假里 xff0c 博主完成了树莓派4B搭载yolofastest V2的ncnn加速 xff0c 效果挺不错的 xff0c 但总感觉还是稍微差点意思 xff0c 于是就购买了一块香橙派5 xff0c 想要用RK3588芯
  • 香橙派5使用NPU加速yolov5的实时视频推理(二)

    三 将best onnx转为RKNN格式 这一步就需要我们进入到Ubuntu20 04系统中了 xff0c 我的Ubuntu系统中已经下载好了anaconda xff0c 使用anaconda的好处就是可以方便的安装一些库 xff0c 而且
  • 【STM32学习】——串口通信协议&STM32-USART外设&数据帧/输入数据策略/波特率发生器&串口发送/接受实操

    文章目录 前言一 串口通信1 通信接口2 串口通信 xff08 1 xff09 串口简介 xff08 2 xff09 串口硬件电路 xff08 3 xff09 串口软件部分 二 STM32的USART外设1 USART简介2 图示详解 三
  • 【STM32学习】——USART串口数据包&HEX/文本数据包&收发流程&串口收发HEX/文本数据包实操

    文章目录 前言一 数据包格式 xff08 江科大规定 xff09 1 HEX数据包2 文本数据包3 两者对比 二 数据包收发流程1 HEX数据包接收 xff08 只演示固定包长 xff09 2 文本数据包接收 xff08 只演示可变包长 x
  • buuctf simplerev 中的小头位序

    33条消息 BUUCTF SimpleRev xff08 涉及大小端序存储的问题 xff09 Ireb9z的博客 CSDN博客 buuctfsimplerev https blog csdn net afanzcf article deta
  • 简要分析网络编程——UDP编程

    计算机网络是指两台或更多的计算机组成的网络 xff0c 在同一个网络中 xff0c 任意两台计算机都可以直接通信 xff0c 因为所有计算机都需要遵循同一种网络协议 网络编程中有很多协议 xff0c 如 xff0c TCP协议 UDP协议
  • 数据结构之二叉树 Python实现

    树 树是一种非线性的数据结构 树 xff0c 它是若干结点的集合 xff0c 是由唯一的根和若个棵互不相交的子树组成的 其中 xff0c 每一棵子树又是一棵树 xff0c 也是由唯一的根结点和若干棵互不相交的子树组成的 由此可知 xff0c
  • 《奔跑吧Linux内核(第二版)》第四章笔记

    内核配置 内核配置工具常见的有 xff1a make config make oldconfig make menuconfig 内核配置工具最终会在Linux内核源码的根目录下生成一个隐藏文件 config文件 xff0c 这个文件包含了
  • GDB+QEMU调试Linux内核

    1 使用qemu创建虚拟机 使用qemu创建ARM64架构虚拟机可以参考我的另一篇博客 xff1a Ubuntu18 04使用qemu搭建ARM64架构虚拟机 xff08 二 xff09 2 安装gdb multiarch工具包 span
  • centos7 HA

    本文以两台机器实现双集热备高可用集群 xff0c 主机名node1的IP为192 168 122 168 xff0c 主机名node2的IP为192 168 122 169 一 安装集群软件 必须软件pcs xff0c pacemaker
  • 《奔跑吧Linux内核(第二版)》第五章笔记

    Linux内核采用宏内核架构 xff0c 即操作系统的大部分功能都在内核中实现 xff0c 比如进程管理 内存管理 进程调度 设备管理等 xff0c 并且都在特权模式下 xff08 内核空间 xff09 运行 而与之相反的另一种流行的架构是
  • 交叉编译内核模块

    本实验在x86环境中交叉编译ARM64架构模块 xff0c 然后qemu启动ARM64架构虚拟机 xff0c 加载该模块运行 1 创建ARM64虚拟机 详见 xff1a Ubuntu18 04使用qemu搭建ARM64架构虚拟机 xff08
  • Linux内核模块相互调用

    编写一个内核模块A xff0c 通过导出模块符号的方式来实现接口函数 编写另一个内核模块B xff0c 调用内核模块A暴露出来的接口函数 1 源文件 内核模块A xff08 test A c xff09 span class token m
  • RTOS论文笔记(二)

    李在林 韩宏克 嵌入式Linux实时性分析及改造 2010 Linux 的实时性测试 中断延迟测试 在Linux中 xff0c 内核或驱动程序显式地关 开中断 xff0c 一般是通过调用 cli sti 来进行操作的 在调用 cli 时 x
  • LXC容器相关论文笔记

    段赫 基于LXC容器资源优化的研究与实现 2016 一 绪论 容器虚拟化技术 传统虚拟化技术 xff0c 实现一个虚拟机就意味着需要消耗了硬件资源来在底层系统上虚拟一个新的操作系统 xff0c 所以除了传统模拟硬件的虚拟化技术 xff0c
  • fork和clone系统调用小实验

    实验一 xff1a 使用fork 函数创建一个子进程 xff0c 然后在父进程和子进程中分别使用printf语句来判断谁是父进程和子进程 fork 函数被调用后会立即创建一个子进程 xff0c 子进程和父进程同时独立运行互不干扰 返回值 x
  • 【RTOS论文笔记】A Comparative Analysis of RTOS and Linux Scalability on an Embedded Many-core Processor

    背景 以往对多核实时操作系统的研究主要集中在多核处理器上任务集的可调度性和响应时间分析 同时 xff0c 许多研究人员声称 xff0c 在不久的将来 xff0c 高端嵌入式系统还将包括高性能并行应用程序 xff0c 以支持复杂的任务 xff
  • 树莓派4B内核打RT-preempt实时补丁的实现

    硬件环境 xff1a 树莓派4B 操作系统 xff1a 树莓派版Ubuntu server 20 04 LTS xff08 64bit xff09 1 依赖环境的安装 运行如下命令 xff1a span class token functi
  • RT-Preempt笔记

    基于Zynq平台的Linux实时性研究及在数据采集中的应用 马啸 嵌入式实时系统研究现状 实时操作系统专门用于在时间约束条件下运行时间关键的应用程序 用于操作处理实时任务所需的最坏情况执行时间 xff08 Worst Case Execut

随机推荐

  • Mac上vmware fusion装的ubuntu不能与主机复制粘贴的问题

    解决方法一 xff1a 安装vmware tools 依次点击 xff1a 虚拟机 gt 安装vmware tools 会在ubuntu桌面上出现vmware tools xff0c 双击打开 解压tar gz包 xff0c 执行解压命令t
  • ceph的一些优化

    最近一直在忙着搞Ceph存储的优化和测试 xff0c 看了各种资料 xff0c 但是好像没有一篇文章把其中的方法论交代清楚 xff0c 所以呢想在这里进行一下总结 xff0c 很多内容并不是我原创 xff0c 只是做一个总结 如果其中有任何
  • Ubuntu 20.04使用qemu搭建ARM64 Linux系统

    1 安装所需依赖 span class token function sudo span span class token function apt get span span class token function install sp
  • GCC 编译选项总结

    c 只激活预处理 编译 和汇编 也就是他只把程序做成obj文件 例子用法 gcc span class token operator span c hello span class token punctuation span c 他将生成
  • 常见排序算法 Python实现

    冒泡排序 span class token keyword def span span class token function bubbleSort span span class token punctuation span lst s
  • GCC 编译优化等级

    参考资料 xff1a Using the GNU Compiler Collection 打开优化标志会使编译器尝试以牺牲编译时间和调试程序的能力为代价来提高性能和 或代码大小 根据目标和 GCC 的配置方式 xff0c 在每个 O 级别启
  • 树莓派4B开机自动发微信报告ip地址

    方法的实现基本基于博主虚宇宸轩的 实现 树莓派开机自动向微信发消息报告ip地址 xff08 无第三方代理 xff09 xff0c 具体原理和操作过程 xff0c 请参考该博主的文章 xff0c 写得很详细 xff0c 原理解释的也很清楚 本
  • 解决arm-none-eabi-gcc交叉编译helloworld程序segmentation fault 错误

    目标 xff1a 在x86 64主机上 windows 10或ubuntu 20 04 上交叉编译arm架构的helloworld程序 xff0c 然后通过scp将编译完的可执行文件传给树莓派4B xff0c 在树莓派上执行该程序 xff0
  • 中断方式及DMA工作详解

    一 轮询方式 对I O设备的程序轮询的方式 xff0c 是早期的计算机系统对I O设备的一种管理方式 它定时对各种设备轮流询问一遍有无处理要求 轮流询问之后 xff0c 有要求的 xff0c 则加以处理 在处理I O设备的要求之后 xff0
  • 构成帧的方法

    组帧 组帧的原因是为了在出错的时候只需要重发出错的帧 xff0c 而不需要重发全部数据 xff0c 从而提高效率 为了能让接收方正确地接收并检查所传输的帧 xff0c 发送方必须依据一定的规则把网络层传下来的分组封装成帧 这个动作称为组帧
  • AUTOWARE下底盘CAN通讯实现

    无人驾驶系列 autoware与底盘CAN通讯实现 本文介绍在使用autoware时 xff0c 如何将autoware发送的消息传输给底盘 xff0c 实现对线控底盘的控制 准备工作 xff1a 1 系统具备ROS和autoware 2
  • Boost库安装与使用

    Boost 库很不错 xff0c 所以我今天就安了它一下下 Boost 库不是 C 43 43 标准库的一部分 xff08 据说在下一版本的 C 43 43 标准会采纳它 xff09 xff0c 但它有一些标准库所没有的很有用的一些功能 x
  • ROS Ubuntu20.04多版本opencv运行及bug解决

    ubuntu系统装有多个版本opencv使用方法及可能出现的问题 xff1a 单opencv版本时使用命令 xff1a find package OpenCV 3 2 REQUIRED 其默认是在user local 目录下安装的openc
  • UDP编程

    一切以包裹为中心 xff0c 字节数组为核心 一 UDP的基本步骤 xff1a 1 xff09 发送端 package com sxt udp import java net DatagramPacket import java net D
  • LWIP之lwip_select函数使用

    本测试基于lwip2 1 2 参考了CSDN博主 64 则强 的文章 原文链接 xff1a https blog csdn net baidu 39191253 article details 127630186 部分地方做了修改 xff0
  • 直流无刷电机的调试与代码开源(配套资源)

    本周对手头的一款大疆M3508直流无刷电机调试的相关内容进行整理及个人的代码进行分享 一 M3508直流无刷电机 直流无刷电机的工作原理此处不做阐述 xff0c 相关资料也易查询 1 1电机结构与连接样式图 1 2电机参数 具体不多加阐述
  • Linux网络编程——UDP编程

    文章目录 前言一 udp编程相关函数1 socket函数2 bind函数3 sendto函数4 recvfrom函数5 close函数 二 实际案例总结 前言 1 UDP通信协议 xff0c 服务器端和客户端无需建立连接 xff0c 只需要
  • c++ vector用法 入门必看 超详细

    1 vector的作用 vector是最常用的容器之一 xff0c 功能十分强大 xff0c 可以储存 管理各种类型的数据 在很多情况下可以用来代替功能比较局限的普通数组 xff0c 因为我们知道 xff0c 普通数组只能实现一对一的映射而
  • 比特(bit)和字节(byte)

    比特 xff08 bit xff09 和字节 xff08 byte xff09 比特 一个0或者一个1存储为一个bit xff0c 是计算机中最小的一个存储单位 字节 计算机中最基本的存储单元是字节 xff0c 一个字节是由8个比特构成的
  • 图形化界面如何给画笔加粗

    public void actionPerformed ActionEvent e String bstr 61 e getActionCommand 获得该组件上的文本内容 xff1b str 61 e getActionCommand