/**
* 画布
* @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) {
}
}
相关推荐
Qt多线程实战:如何优雅地处理Modbus设备通信中的线程安全问题
本文深入探讨了在Qt框架下实现Modbus设备通信时的多线程安全问题,提供了优雅的解决方案。通过生产者-消费者模型、任务队列与锁机制等设计模式,有效解决了界面卡顿、数据包错乱等问题。文章还详细介绍了对象生命周期管理、信号槽连接类型选择等关键实现细节,帮助开发者构建稳定可靠的Modbus通信模块。
【java】swing利用canvas绘制实时自适应窗口变化的甘特图
之前用Matlab写过一个绘制甘特图的例子,现在想用java再实现以下,其实原理很简单,就是canvas API的一些基本使用。 利用java swing中的Canvas画图工具画的一个甘特图实例,可以自适应窗口的变化而变化。下面给出代码: package com.canvas.plot; import java.awt.Canvas; import java.awt.Color; ...
目标检测——布匹缺陷检测数据集
结构瑕疵指的是布料本身的缺陷,包括嵌结、抽纱、错纱、断纱、预缩等问题,这些问题通常是在布料生产过程中出现的。而质量瑕疵则是指布料在使用过程中出现的问题,如污渍、断裂、鼓囊、针眼等,这些问题可能由生产过程中的结构瑕疵导致,也可能是在运输、存放和使用过程中引起的。布匹瑕疵如缺纬、断纬、粗纬、松纬、缺经、断经、粗经、筘痕、污点、破损等,若未得到及时有效的检测,这些瑕疵产品可能会流向市场,导致消费者的不满和退货,严重影响企业的声誉和品牌形象。织疵包括缺经、缺纬、跳花、弓纱、错纱、厚薄段、油污渍等;
java swing canvas小结
之前在学习canvas时总是感觉自己应该是会了,还能写一些小的画图程序,基本原理不就是一个repaint、update(还不是由自己来吊用)、paint,在监听器中调用repaint方法就可以画图了嘛,但是真的有很多细节要注意的,总结两点: Canvas是一个component组件,那么在它的方法监听中要canvas.repaint() 而不能这么写repaint() 在画直线的时候一定要记得时刻
【项目立项管理、项目整合管理】30天通过软考高项-第二天
①项目或阶段的概述;②范围目标、范围的评估标准,证明达到完⼯标准的证据;③质量目标、项目和产品质量的评估标准、相关核实信息和实际里程碑交付日期以及偏差原因;④成本目标,包括可接受的成本区间、实际成本,产⽣任何偏差的原因等;⑤最终产品、服务或成果的确认信息的总结;⑥进度计划目标,包括成果是否实现项目预期效益:如果在项目结束时未能实现效益,则指出效益实现程度并预计未来实现情况;
【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别)
【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别)
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...
湿式双离合器自动变速器simulink建模与仿真
随着汽车工业的不断发展,自动变速器在提高汽车性能、驾驶舒适性和燃油经济性等方面发挥着越来越重要的作用。湿式双离合器自动变速器(Wet Dual-Clutch Transmission,简称 WDCT)作为一种先进的自动变速器技术,具有换挡速度快、动力传递平稳、燃油经济性好等优点,被广泛应用于各类汽车中。结构组成湿式双离合器自动变速器主要由双离合器、齿轮传动系统、液压控制系统和电子控制系统等部分组成。双离合器:由两个独立的离合器组成,分别控制奇数挡和偶数挡。通过切换两个离合器的工作状态,可以实现快速换挡。
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;// 用于显示提示信息的文本...
lammps后处理:堆垛层错和孪晶的数量统计
python调用ovito包可以免费实现ovito pro版本的功能,不需要安装ovito pro软件,如统计位错线长度、CNA结构、键角分布等,如需深入学习,可考虑报名python ovito后处理课程,或lammps一对一课程。lammps金属变形模拟中,可能会产生堆垛层错或者孪晶等结构,但是ovito免费版本无法统计这些结构的数量。使用python和ovito软件包,则可以方便的统计出这些结构的数量。大家好,我是小马老师。
RK3588开发笔记-麦克风阵列多pdm通道合并成一个声卡
在音频设备的开发中,特别是在多通道音频数据处理场景中,如何将多个PDM(Pulse Density Modulation)通道整合成一个声卡设备,是一个非常具有挑战性的问题。RK3588芯片作为一款性能强大的平台,提供了对多个音频通道的支持。本文将介绍如何在RK3588上将多个PDM通道合并成一个麦克风阵列声卡,从而在Linux系统下统一管理和使用,提高多通道音频的同步性。在本文中我们主要介绍使用2通道回采+4通道mic声音采集构成一个6通道声卡,加以回声消除实现一个多麦克风阵列。
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;// 用...
基于深度学习YOLOv11的布匹缺陷检测系统(Python+PySide6界面+训练代码)
YOLOv11模型训练:根据布匹缺陷数据集训练YOLOv11模型,以识别布匹中的各种缺陷,如裂纹、污渍、破损等。PySide6界面设计:设计一个图形用户界面,帮助用户上传布匹图像,并显示模型的检测结果。模型优化与精度提升:通过数据增强、超参数调优等手段提高模型的准确性。本文介绍了如何基于YOLOv11实现布匹缺陷检测系统,并通过PySide6构建了一个图形用户界面。该系统能够自动检测布匹中的各种缺陷,具有较高的效率和精度。
swing-基础Graphics画布
swing Graphics画布的学习和总结
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...
复分析 阿尔福斯(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
老版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...
在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
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...
java 将画布内容保存到本地图片(简单画图板)
概述: 一个简单的画图板,实现将画布内容保存为本地图片1、手绘图形 可以画任意图形,即在鼠标拖动下实现任意线段的绘制。 基本原理是扩展swing中的JPanel类(也可以用Java的Canvas类,但两者还是有些区别的) ,同时添加对鼠标的监听。任意的线段绘制,可以看做是一点一点的很小的线段叠加而成,就是点构成线么,即在鼠标拖动监听器里每次采集点,然后跟上一次的点构成线,同时每次都re...
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...
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...
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...
483



被折叠的 条评论
为什么被折叠?



