java swing学习笔记二(画布Canvas)

/**
* 画布
* @time 11:23:53 AM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_MyCanvas implements KeyListener, MouseInputListener {
Canvas c;// 画布
TextField tf;// 用于显示提示信息的文本框
String s; // 用于存放按键信息的字符串


public static void main(String[] args) {
// 初始化帧
Frame frame = new Frame("Canvas");
// 初始化画布
Test_MyCanvas test_MyCanvas = new Test_MyCanvas();
test_MyCanvas.c = new Canvas();
test_MyCanvas.tf = new TextField();


frame.add("South", test_MyCanvas.tf);
frame.add("Center", test_MyCanvas.c);


frame.setSize(300, 150);


test_MyCanvas.c.addMouseListener(test_MyCanvas);
test_MyCanvas.c.addKeyListener(test_MyCanvas);


frame.setVisible(true);


}


// 按键按下
public void keyPressed(KeyEvent e) {


}


// 按键抬起
public void keyReleased(KeyEvent e) {
tf.setText("keyReleased");
}


// 响应键盘事件
public void keyTyped(KeyEvent e) {
tf.setText("keyTyped");
s += e.getKeyChar();
c.getGraphics().drawString(s, 0, 20);
}


// 鼠标点击
public void mouseClicked(java.awt.event.MouseEvent e) {
tf.setText("mouseClicked");
// 画布取得焦点
c.requestFocus();
}


// 鼠标进入
public void mouseEntered(java.awt.event.MouseEvent e) {
tf.setText("mouseEntered");
}


// 鼠标退出
public void mouseExited(java.awt.event.MouseEvent e) {
tf.setText("mouseExited");
}


// 鼠标按下
public void mousePressed(java.awt.event.MouseEvent e) {
tf.setText("mousePressed");
}


// 鼠标松开
public void mouseReleased(java.awt.event.MouseEvent e) {
tf.setText("mouseReleased");
}


public void mouseDragged(java.awt.event.MouseEvent e) {


}


public void mouseMoved(java.awt.event.MouseEvent e) {


}


}

【ARM CoreLink 系列 5.3 -- CI-700 SLC memory 系统组件详细介绍】 在 CI-700 系统级缓存(SLC)内存系统中,HN-F 节点负责管理缓存一致性和数据传输。每个 HN-F 节点可以发送三种类型的 Snoop 请求,以确保系统中多核处理器和缓存之间的一致性。CI-700 中的系统级缓存(SLC)内存系统通过 HN-F 节点支持 TrustZone® 技术。以下是 CI-700 支持的 SN 类型以及配置方法的简要介绍。ARM CI-700 系统级缓存(SLC)是一个分布式、主要排他性(mostly exclusive) 的最后一级缓存,集成在 HN-F 节点内。 阅读详情

相关推荐

Qt多线程实战:如何优雅地处理Modbus设备通信中的线程安全问题

本文深入探讨了在Qt框架下实现Modbus设备通信时的多线程安全问题,提供了优雅的解决方案。通过生产者-消费者模型、任务队列与锁机制等设计模式,有效解决了界面卡顿、数据包错乱等问题。文章还详细介绍了对象生命周期管理、信号槽连接类型选择等关键实现细节,帮助开发者构建稳定可靠的Modbus通信模块。

weixin_30897233的博客 483

【java】swing利用canvas绘制实时自适应窗口变化的甘特图

之前用Matlab写过一个绘制甘特图的例子,现在想用java再实现以下,其实原理很简单,就是canvas API的一些基本使用。 利用java swing中的Canvas画图工具画的一个甘特图实例,可以自适应窗口的变化而变化。下面给出代码: package com.canvas.plot; import java.awt.Canvas; import java.awt.Color; ...

XYZ 2925

目标检测——布匹缺陷检测数据集

结构瑕疵指的是布料本身的缺陷,包括嵌结、抽纱、错纱、断纱、预缩等问题,这些问题通常是在布料生产过程中出现的。而质量瑕疵则是指布料在使用过程中出现的问题,如污渍、断裂、鼓囊、针眼等,这些问题可能由生产过程中的结构瑕疵导致,也可能是在运输、存放和使用过程中引起的。布匹瑕疵如缺纬、断纬、粗纬、松纬、缺经、断经、粗经、筘痕、污点、破损等,若未得到及时有效的检测,这些瑕疵产品可能会流向市场,导致消费者的不满和退货,严重影响企业的声誉和品牌形象。织疵包括缺经、缺纬、跳花、弓纱、错纱、厚薄段、油污渍等;

zzjlhlcd的博客 612

java swing canvas小结

之前在学习canvas时总是感觉自己应该是会了,还能写一些小的画图程序,基本原理不就是一个repaint、update(还不是由自己来吊用)、paint,在监听器中调用repaint方法就可以画图了嘛,但是真的有很多细节要注意的,总结两点: Canvas是一个component组件,那么在它的方法监听中要canvas.repaint() 而不能这么写repaint() 在画直线的时候一定要记得时刻

Crabime的博客 9228

【项目立项管理、项目整合管理】30天通过软考高项-第二天

①项目或阶段的概述;②范围目标、范围的评估标准,证明达到完⼯标准的证据;③质量目标、项目和产品质量的评估标准、相关核实信息和实际里程碑交付日期以及偏差原因;④成本目标,包括可接受的成本区间、实际成本,产⽣任何偏差的原因等;⑤最终产品、服务或成果的确认信息的总结;⑥进度计划目标,包括成果是否实现项目预期效益:如果在项目结束时未能实现效益,则指出效益实现程度并预计未来实现情况;

weixin_42520723的博客 999

【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别)

【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别)

challenglistic的博客 5万+

java 怎么在Canvas添加组件_java – 在Swing中指定Canvas的位置

“Swing程序应该覆盖paintComponent()而不是覆盖paint().” –Painting in AWT and Swing: The Paint Methods. JPanel或JComponent是常见的选择,如建议的here.您可以使用合适的layout控制放置.附录:这与Canvas有什么关系?java.awt.Canvas类是一个AWT组件;而是使用Swing组件javax...

weixin_42363662的博客 535

湿式双离合器自动变速器simulink建模与仿真

随着汽车工业的不断发展,自动变速器在提高汽车性能、驾驶舒适性和燃油经济性等方面发挥着越来越重要的作用。湿式双离合器自动变速器(Wet Dual-Clutch Transmission,简称 WDCT)作为一种先进的自动变速器技术,具有换挡速度快、动力传递平稳、燃油经济性好等优点,被广泛应用于各类汽车中。结构组成湿式双离合器自动变速器主要由双离合器、齿轮传动系统、液压控制系统和电子控制系统等部分组成。双离合器:由两个独立的离合器组成,分别控制奇数挡和偶数挡。通过切换两个离合器的工作状态,可以实现快速换挡。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 348

swing学习笔记二(画布Canvas)

/** * 画布 * @time 11:23:53 AM * @author retacn yue * @Email zhenhuayue@sina.com */ public class Test_MyCanvas implements KeyListener, MouseInputListener {Canvas c;// 画布TextField tf;// 用于显示提示信息的文本...

retacn_yue的专栏 315

lammps后处理:堆垛层错和孪晶的数量统计

python调用ovito包可以免费实现ovito pro版本的功能,不需要安装ovito pro软件,如统计位错线长度、CNA结构、键角分布等,如需深入学习,可考虑报名python ovito后处理课程,或lammps一对一课程。lammps金属变形模拟中,可能会产生堆垛层错或者孪晶等结构,但是ovito免费版本无法统计这些结构的数量。使用python和ovito软件包,则可以方便的统计出这些结构的数量。大家好,我是小马老师。

lammps_jiayou的博客 464

RK3588开发笔记-麦克风阵列多pdm通道合并成一个声卡

在音频设备的开发中,特别是在多通道音频数据处理场景中,如何将多个PDM(Pulse Density Modulation)通道整合成一个声卡设备,是一个非常具有挑战性的问题。RK3588芯片作为一款性能强大的平台,提供了对多个音频通道的支持。本文将介绍如何在RK3588上将多个PDM通道合并成一个麦克风阵列声卡,从而在Linux系统下统一管理和使用,提高多通道音频的同步性。在本文中我们主要介绍使用2通道回采+4通道mic声音采集构成一个6通道声卡,加以回声消除实现一个多麦克风阵列。

flypig has a dream! 1924

java画布canvas_java swing学习笔记二(画布Canvas)

/** * 画布 * @time 11:23:53 AM * @author retacn yue * @Email zhenhuayue@sina.com */ public class Test_MyCanvas implements KeyListener, MouseInputListener { Canvas c;// 画布 TextField tf;// 用...

weixin_34768798的博客 531

基于深度学习YOLOv11的布匹缺陷检测系统(Python+PySide6界面+训练代码)

YOLOv11模型训练:根据布匹缺陷数据集训练YOLOv11模型,以识别布匹中的各种缺陷,如裂纹、污渍、破损等。PySide6界面设计:设计一个图形用户界面,帮助用户上传布匹图像,并显示模型的检测结果。模型优化与精度提升:通过数据增强、超参数调优等手段提高模型的准确性。本文介绍了如何基于YOLOv11实现布匹缺陷检测系统,并通过PySide6构建了一个图形用户界面。该系统能够自动检测布匹中的各种缺陷,具有较高的效率和精度。

斌擎科技 529

swing-基础Graphics画布

swing Graphics画布的学习和总结

Record Little 3298

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java制作画布,如何用Swing制作画布?

I'm trying to make a paint editor with Java in which I have a toolbar with the objects that I would like to paste in the canvas. I'm using Swing components to make the GUI, but when I looked for the w...

weixin_39886205的博客 355

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JAVA中Swing组件上绘图机制举例

A program which demonstrates the basic paint mechanism for Swing components (JPanel for example). package com.han; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * A progr

Gaowen_HAN的专栏 4579

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java Canvas画图学习小结

主函数 package paint; import javax.swing.JFrame; public class PaintMain { JFrame jFrame; public static void main(String[] args) { // TODO 自动生成的方法存根 PaintMain pai...

qq_42265608的博客 1万+

在Swing中嵌入SWT的组件

可以用SWT_AWT类将Shell添加到Canvas上,然后将Canvas放入Panel中,Panel则可以随意放入SWING组件中。 大概代码思路如下: JFrame frame = new JFrame(); Container cp = frame.getContentPane(); Canvas canvas = new Canvas(); cp.add(canvas,BorderLa

MissionRex的博客 2444

java canvas盖住了,为什么JMenuItem被Canvas(画布)覆盖?是什么原因呢?

为什么JMenuItem被Canvas(画布)覆盖?是什么原因呢?热度:257发布时间:2007-06-13 23:05:58为什么JMenuItem被Canvas(画布)覆盖?是什么原因呢?import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public clas...

weixin_39715538的博客 270

java 将画布内容保存到本地图片(简单画图板)

概述: 一个简单的画图板,实现将画布内容保存为本地图片1、手绘图形    可以画任意图形,即在鼠标拖动下实现任意线段的绘制。    基本原理是扩展swing中的JPanel类(也可以用Java的Canvas类,但两者还是有些区别的) ,同时添加对鼠标的监听。任意的线段绘制,可以看做是一点一点的很小的线段叠加而成,就是点构成线么,即在鼠标拖动监听器里每次采集点,然后跟上一次的点构成线,同时每次都re...

bocccy的博客 1万+

java读取图片画布大小,java的添加图片到画布

I'm trying to add a image to a java canvas.I'm using the "ImageIO.read" to get the image source. The problem i'm facing is that i don't know how to display it on the canvas after reading the image loc...

weixin_28824127的博客 382

java读取图片画布大小_java的添加图片到画布

I'm trying to add a image to a java canvas.I'm using the "ImageIO.read" to get the image source. The problem i'm facing is that i don't know how to display it on the canvas after reading the image loc...

weixin_29201933的博客 447

java 画笔跟swing组件_JAVA中Swing组件上绘图机制举例

A program which demonstrates the basic paint mechanism for Swing components (JPanel for example).package com.han;import java.awt.*;import java.awt.event.*;import javax.swing.*;/*** A program which dem...

weixin_30342363的博客 261
上一篇: 分布式学习笔记
下一篇: ajax学习笔记
归零
博客等级 码龄17年 4粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值