首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ① ( AWT 绘图线程 | Component 绘图函数 )

(Graphics g) 函数 , 绘制组件上的所有内容 , 绘制完毕后 , AWT 绘制线程又 恢复 等待状态 ; 如果 组件 不是第一次展示 , 而是组件内容进行了修改 , 此时就需要 AWT...绘制线程 中 调用 repaint() 函数 , 重绘组件 ; repaint() 函数 中 , 先将组件进行隐藏 , 然后再 调用 update(Graphics g) 函数刷新组件 ; 调用..., update(Graphics g) 和 paint(Graphics g) 函数 都是系统自动调用的 ; 二、Component 绘图函数 AWT 中使用 Graphics 对象进行绘图 ,... Component 组件中 , 提供了如下 3 个 方法进行绘图 : paint(Graphics g) : 绘制组件 , 函数原型如下 ; /** * 绘制组件。.../java/painting-140037.html">AWT和Swing中绘画。

73430
您找到你想要的搜索结果了吗?
是的
没有找到

Vue 对象模块如何使用 this 对象

众所周知,js 中的 this 对象不同作用域下指代不同的对象实例,并且以下 4 种场景中经常会“不知所向”: 定时器(setTimeout、setInterval等)回调中 事件句柄回调中 硬件环境...(CEF、iOS、Android等)中注册的回调 桢渲染函数requestAnimationFrame的回调中 简而言之,在所有从 js 主线程之外的异步线程回调过来的函数,this 经常会丢失。...所以最好的对象模块开发规范是,不使用 this 关键字。 这里指对象模块,默认导出是一个全局的对象这种场景;如果是导出 Class,类方法中访问类属性,是必使用 this 关键字的。...二 在对象模块中,所有模块使用的变量、常量请直接在文件顶部定义,如下所示: hasPushedStream; //是否已经开始推流 所有函数,无论最终导出、还是不导出,都直接以最简单的 function...... } 这个时候, startPreview 函数使用videoIsOpen、还是this.videoIsOpen,都可以正常访问。

2.6K20

Java游戏编程不完全详解-3(爆肝一万七千字)

一个特定的组件出现一种事件时分发。AWT会检查是否有该事件的监听器存在—监听器是一个对象,它专门从另外一个对象接收事件,在这种情况下,事件就会来自于AWT事件分发器线程了。...如果鼠标移动继续,那么draw方法会给每个Point绘制一个“hello world!”字样,否则只绘制第一个Point对象,点击鼠标会修改trail模型。...实际上,我们使用JFrame对象来操作Windw和Frame而已。 一些Swing组件使用自己的组件来呈现画面,所以,我们可以自己的呈现循环中使用Swing组件。...Swing有大量的API可以使用,而这里讲解的是游戏,不是Swing组件,所以不会讨论Swing组件功能。...游戏中使用Swing组件的技巧如下: 绘制所有的Swing组件时,只需要在动画循环过程中,呼叫主面板的paintComponents()方法即可: //绘制我们的图形 draw(g); //绘制Swing

2.1K10

Java applet详解

类型的对象 向Javax.swing.JApplet容器添加组件的语句格式为: theJApplet.getContentPane().add(Component swingComponent); /.../其中theApplet是Javax.swing.JApplet类型的对象 特别注明:JApplet是顶层的Swing容器,其内部用一个隐含的根面板(JRootPanel)作为惟一的直接后代,而根面板中的内容面板...为了applet窗口中绘制图形,可不需要创建Graphics的实例。JApplet的paint()方法给出Graphics对象,通过使用该对象,结果就会出现在浏览器中。...paint()方法:取Graphics对象为参数,绘画区画applet的图像。 当想要重画applet的区域时调用该方法。...上面的代码中主要是通过paint()中的Graphics对象来使用drawString方法去画字,并且指定了字的坐标。

1.2K20

双缓冲原理Awt和Swing中实现消除闪烁方法总结

这时Swing出现了,它是建立AWT之上的组件集,不同的平台上都能保持组件的界面样式,因此得到了非常广泛的应用。...1、Swing组件Swing组件中有许多种组件,它们被封装在JFC中,下面我们会对每一种组件进行详细介绍。Swing包很多,但平常用到的只有javax.swing....2)、与AWT的区别 最大的区别在于Swing组件的实现与本地实现无关。Swing组件比AWT组件具有更多的功能。...例如在Swing中添加了按钮组件和标签组件,通过继承来更改Swing组件的行为和外观,访问技术等。 ---- 游戏中相应的实现即主要窗体用Frame和JFrame来构建。...repaint()方法重量级组件的时候会调用update方法,轻量级组件的时候会调用paint方法 即JFrame根本不会去调用update()方法!

2.2K20

JAVA学习AWT绘图

package com.graphics; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel...* 由于Graphics2D类是Graphics类的扩展,也是推荐使用的java绘图类 * 所以本章主要介绍使用Graphics2D类实现JAVA绘图 * * 3:Graphics类使用的不同的方法实现不同的绘制...; import javax.swing.WindowConstants; /** * 1:Graphics2D是继承Graphics类编写的,它包含了Graphics类的绘图方法并添加了更强的功能...* * 2:要绘制指定形状的图形,需要先创建并初始化该图类型的对象,这些图形类必须是Shape接口 * 的实现类,然后使用Graphics2D类的draw()方法绘制该图形对象或者使用fill()...//Graphics2D是推荐使用的绘图类,但是程序设计中提供的绘图对象大多是 //Graphics类的实例,这时应该使用强制类型转换将其转换为Graphics

1.5K81

JAVA学习Swing章节标签JLabel中图标的使用

java.awt.Graphics; import javax.swing.Icon; import javax.swing.JFrame; import javax.swing.JLabel; import...javax.swing.SwingConstants; import javax.swing.WindowConstants; /** * 1:Swing中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标...上面的图标可以放置在按钮,标签,等组件上面,用于描述组件的用途 * * 5:Swing中通过Icon接口来实现创建图表,可以创建时给定图标的大小,颜色等特性 * 如果使用Icon接口,必须实现...; /** * 1:Swing中的图标除了可以绘制以外,还可以使用某个特定的图片创建。...* * 第一创建一个通用的ImageIcon对象,当真正需要设置图片时再使用ImageIcon对象 * 调用setImage(Image image)方法来操作 * 第二直接从图片源创建图表

1.8K60

创建被图像填充的组件解释几处做法解释几点

如果你直接new一个组件的话,组件是标准外观 如果需要改变组件的外观,最关键的就是要就需要重写组件的paintCoponent(Graphics g)方法,同时需要调整组件的大小 DIY的JPanel...image;//用来储存背景对象 private Dimension dimension;//用来储存背景对象的尺寸 public ImagePanel(Image image){...类中绘制图像的方法了 drawImage(Image image,int x,int y,ImageObserver observer); drawImage(Image image,int x...observer - 当缩放并转换了更多图像时要通知的对象。 ImageObserver用于构造 Image 时,接收有关 Image 信息通知的异步更新接口。...我的理解是,当设置好了背景之后,并不一定是马上输出设备上体现出来,需要一定的时间 如果上一个设置图像还在输出的时候又设置一次图像的话,那么方法返回false,并等到上一次设置图像输出完毕了之后,通知指定的图像观察者

1.2K90

开源)嗨,Java,你可以生成金山词霸的二维码分享海报吗?

01、大致思路 采集网络图片 加载海报背景和个人品牌二维码 利用 Graphics2D 将网络图片绘制成海报封面 利用 Graphics2D 海报上打印中英文对照语 利用 Graphics2D 海报上绘制个人专属二维码...Graphics2D graphics2d = bgImage.createGraphics(); // 背景上绘制封面图 graphics2d.drawImage(picImage, pic_x,...graphics2d.dispose(); 第四步,将绘制好的图像输出到文件中。...06、利用 Graphics2D 海报上打印中文 Font 类表示字体,用于以可见的方式呈现文本。字体提供了将字符序列映射到象形文字序列以及图形和组件对象上呈现象形文字序列所需的信息。...07、利用 Graphics2D 海报上绘制个人专属二维码 有了前面绘制海报封面的经验,绘制二维码就变得轻而易举了。

71330

Java实现坦克大战1.0

介绍-快速入门 绘图原理 面板上画一个小圆。 Component类提供了两个和绘图相关最重要的方法:1. paint(Graphics g)绘制组件的外观 repaint()刷新组件的外观。...当组件第一次屏幕显示的时候,程序会自动的调用paint()方法来绘制组件。...以下情况paint(将会被调用: 1.窗口最小化.再最大化 2.窗口的大小发生变化 3.repaint方法被调用 GraphicsGraphics类你可以理解就是画笔,为我们提供了各种绘制图形的方法...MyPanel 对象就是一个画板 //2. Graphics g 把 g 理解成一支画笔 //3....(3)事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现多个监听接口 (4)这些接口java.awt.event包和javax.swing.event包中定义。

71910

【Java AWT 图形界面编程】Canvas 中绘制超大图片 ( 使用鼠标拖动查看全图 | 设置 JFrame 窗口自动关闭 | 获取并绘制图片 | 鼠标拖动计算位移 | 画布偏移 )

AWT 中 , 使用 Toolkit.getDefaultToolkit().getImage 函数 , 获取 Image 图片对象 ; // 获取图片 Image...image = Toolkit.getDefaultToolkit().getImage("image.jpg"); 调用 Graphics#drawImage 函数 , 向 Canvas 中绘制图片...; // 绘制图形 graphics.drawImage(image, 0, 0, this); 绘图的函数原型为 : ImageObserver 就是 Canvas..., 偏移量 ( offsetX , offsetY ) 一直累加 , 每次累加 , 都要重绘画布 , 重绘时 , 调用 Graphics2D#translate 对画布进行整体偏移 ;...- 代码示例 : import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent

1.4K20

不敢相信,居然用Java写了个“天天酷跑”!

; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel...  @Override   public void paint(Graphics g) {    super.paint(g);    //绘制背景图片    g.drawImage(background...上下左右碰撞的逻辑代码,动图下方: 5、暂停、继续逻辑 监听键盘按键的方法中。...通过Person类中添加get、set方法,获取数据。 二、获取玩家的得分 玩家与金币碰撞的得分即为图中的表现分,GamePanel 获取。...而总分,我Person类中,设定了一个简单的计分规则: 三、再来一次 鼠标点击事件,new一个新的加载界面,加载完成后自动进入游戏。 四、返回主界面 同理。 五、直接退出 同理。

1.6K30

大佬带路,用Java实现天天酷跑(附源码),网友:这也太TM屌了~

; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel...@Override public void paint(Graphics g) { super.paint(g); //绘制背景图片 g.drawImage(background, 0,...上下左右碰撞的逻辑代码,动图下方: ? 5、暂停、继续逻辑 监听键盘按键的方法中。 ? 代码如下: ?...通过Person类中添加get、set方法,获取数据。 ? 2、获取玩家的得分 玩家与金币碰撞的得分即为图中的表现分,GamePanel 获取。 ?...而总分,我Person类中,设定了一个简单的计分规则: ? 3、再来一次 鼠标点击事件,new一个新的加载界面,加载完成后自动进入游戏。 ? 4、返回主界面 同理。 ?

1.4K20

太完整了!三万字Java项目实战之天天酷跑

; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel...@Override public void paint(Graphics g) { super.paint(g); //绘制背景图片 g.drawImage...上下左右碰撞的逻辑代码,动图下方: ? 5、暂停、继续逻辑 监听键盘按键的方法中。 ? 代码如下: ?...通过Person类中添加get、set方法,获取数据。 ? 2、获取玩家的得分 玩家与金币碰撞的得分即为图中的表现分,GamePanel 获取。 ?...而总分,我Person类中,设定了一个简单的计分规则: ? 3、再来一次 鼠标点击事件,new一个新的加载界面,加载完成后自动进入游戏。 ? 4、返回主界面 同理。 ?

1.8K21
领券