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

Java AWT窗口实现未运行paint()函数

Java AWT(Abstract Window Toolkit)是Java提供的一套用于创建图形用户界面(GUI)的类库。它包含了一系列的类和方法,可以用于创建窗口、按钮、文本框等各种GUI组件,并实现用户交互。

在Java AWT中,要实现窗口的绘制,需要使用到paint()函数。paint()函数是AWT组件的一个方法,用于绘制组件的外观。当窗口需要被绘制时,系统会自动调用paint()函数来完成绘制操作。

具体实现AWT窗口并运行paint()函数的步骤如下:

  1. 导入AWT相关的类库:
代码语言:txt
复制
import java.awt.*;
import java.awt.event.*;
  1. 创建一个继承自Frame类的窗口类,并重写paint()函数:
代码语言:txt
复制
class MyWindow extends Frame {
    public MyWindow() {
        setSize(400, 300); // 设置窗口大小
        setVisible(true); // 显示窗口
    }

    public void paint(Graphics g) {
        // 在这里编写绘制窗口的代码
    }
}
  1. 在主函数中创建窗口对象,并添加窗口关闭事件监听器:
代码语言:txt
复制
public class Main {
    public static void main(String[] args) {
        MyWindow window = new MyWindow();
        window.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}

paint()函数中,可以使用Graphics对象进行绘制操作,例如绘制图形、文本等。Graphics对象提供了一系列的方法,用于绘制不同类型的图形。

AWT窗口的实现可以应用于各种场景,例如创建桌面应用程序、图形编辑器、游戏等。通过paint()函数的灵活运用,可以实现自定义的界面效果。

腾讯云提供了一系列的云计算产品,其中与Java开发相关的产品包括云服务器(CVM)、云数据库MySQL版、云存储(COS)等。您可以根据具体需求选择适合的产品进行开发和部署。

以上是关于Java AWT窗口实现未运行paint()函数的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

最近在做Java版贪吃蛇的入门项目,过程中遇到窗口闪烁的问题总结。...一、AWT组件开发 1、AWT AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作。AWT还能使应用程序更好地同用户进行交互。...2)、与AWT的区别 最大的区别在于Swing组件的实现与本地实现无关。Swing组件比AWT组件具有更多的功能。...---- 在Awt中对于窗体画布的重绘其条用顺序是repaint() —>update()—>paint(); 默认的upadate()中自带clearRect()方法,即清屏功能,程序运行时我们调用repaint...(g); } 对比之后会发现直接调用了paint()函数而没有clearRect(),试图不通过清屏来阻止闪烁的发生。

2.2K20

11 - JavaSE之GUI

GUI 的各种元素(如:窗口,按钮, 文本框等)由 Java 类来实现。 使用 AWT 所涉及的类一般在 java.awt 包及其子包中。...Frame 的常用构造方法:Frame(); Frame(String s) // 创建标题栏为字符串 s 的窗口。 成员函数略。...用来处理 ActionEvent 事件是实现java.awt.event.ActionListener 接口的类的对象。...---- Graphics 类 paint 方法 每个 Component 都有一个 paint(Graphics g) 方法,用于实现绘图目的,每次重画该 Component 的时候,都会自动调用 paint...打比方说 Component 是一个窗口,那么改变窗口大小的时候,最小化最大化窗口的时候,切换到其他界面再切回来的时候都会重画窗口,都会导致 paint 方法自动被调用。

1.9K50

Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ④ ( AWT 绘图窗口闪烁问题 )

, 如果在循环中 持续调用 Canvas#repaint() 函数刷新界面 , 代码如下 : import java.awt.*; public class HelloAWT { public...界面中一直在闪烁 ; 每次刷新都闪烁一次 ; 参考 【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ① ( AWT 绘图线程 | Component 绘图函数 )..., 然后调用 Canvas#paint 函数重新进行绘制 ; Canvas#update 函数原型如下 : public void update(Graphics g) {...repaint 函数时 , 会先将屏幕清空 , 然后再重新调用 Canvas#paint 函数进行绘制 , 此时就造成了界面闪烁的现象 ; 为了避免上述闪烁的情况 , 也就是绘制过程中 , 不出现 屏幕清空...} 二、完整代码示例 ---- 代码示例 : import java.awt.*; public class HelloAWT { public static void main(String

76710

5分钟完成桌面小游戏项目「建议收藏」

桌面小游戏 下面分成四个步骤来实现项目 第一步:创建项目和窗口。 第二步:加载两张图片(ball.png和desk.jpg)。 第三步:实现动画,让小球沿水平方向移动并做边界检测。...: 第二步:加载两张图片 详细内容见注释 package 桌面游戏; import java.awt.*; import java.awt.Toolkit; import javax.swing.JFrame...:加载小球与桌面 public void paint(Graphics g){ System.out.println("窗口被画了一次!!")...: 第三步:实现动画 package 桌面游戏; import java.awt.*; import java.awt.Toolkit; import javax.swing.JFrame;...: 第四步:桌面游戏代码——实现任意角度飞行 package 桌面游戏; import java.awt.*; import java.awt.Toolkit; import javax.swing.JFrame

55010

java的双缓冲技术

本文从实例出发,着重介绍了用双缓冲消除闪烁的原理以及双缓冲在Java中的两种常用实现方法(即在update(Graphics g)中实现和在paint(Graphics g)中实现),以期读者能对双缓冲在...下面的JavaApplication再现了这种屏幕闪烁的情况: 代码段一,闪烁再现 import java.awt.*;   import java.awt.event.*;   public...DoubleBuffer的对象建立后,显示窗口,程序首先自动调用重载后的paint(Graphics g)函数,在窗口上绘制了一个小圆,绘图线程启动后,该线程每隔30ms修改一下小圆的位置,然后调用repaint...1、重载paint(Graphics g)实现双缓冲: 这种方法要求我们将双缓冲的处理放在paint(Graphics g)函数中,那么具体该怎么实现呢?...如果在swing中,组件本身就提供了双缓冲的功能,我们只需要进行简单的函数调用就可以实现组件的双缓冲,在awt中却没有提供此功能。

2.2K80

TextField和Graphics类

与该事件对应的事件类是java.awt.event.ActionEvent 用来处理ActionEvent事件是实现java.awt.event.ActionListener接口的类的对象,ActionListener...import java.awt.*; import java.awt.event.*; public class TFActionEvent2 { public static void main...持有对方引用实现加法器 import java.awt.*; import java.awt.event.*; public class TFMath { public static void...(Graphics g)用于实现绘图的目的,每次重画该Component时都自动调用paint方法 Graphics类中提供了许多绘图方法,如: drawRect(int x,int y,int width...paint方法,但是其实仔细看上面的说明就会知道,每次重画的时候都会自动调用paint方法,什么时候会重画,比方说先把这个窗口隐藏,然后再显示这个窗口,或者创建这个窗口的时候,都会重画。

87720

事件模型

反映到计算机上,你可以把某个代码写好,然后告诉某个对象比方说button,当button一执行,就让他自动调用你写好的代码,这样对计算机的压力就并不是很重,这个叫钩子函数,也叫回调函数 import java.awt...import java.awt.*; import java.awt.event.*; public class TestActionEvent { public static void main...import java.awt.*; import java.awt.event.*; import java.util.*; public class MyMouseAdapter { public...这个程序实现了关闭窗口的效果 KeyEvent  下图是KeyListener接口的方法,同样的,也有一个类实现了这个接口,叫KeyAdapter,接下来我们直接做一个摁键盘上下左右,然后打印对应的字符串...import java.awt.*; import java.awt.event.*; public class TestKey { public static void main(String

50710

Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ③ ( 绘图步骤 | 绘图案例 )

文章目录 一、绘图步骤 二、绘图代码示例 一、绘图步骤 ---- 首先 , 自定义 Canvas 组件类 , 重写其中的 Component#paint(Graphics g) 函数 , Component...组件 与 Graphics 是由 paint(Graphics g) 函数 进行关联的 ; static class MyCanvas extends Canvas { @Override...重写的 Component#paint(Graphics g) 函数中 , 先调用 Graphics 实例对象的 setColor , setFont 等函数 , 设置画笔的相关属性 ; static..., 直接向 Frame 窗口中放入上述 MyCanvas 实例对象 即可 ; 二、绘图代码示例 ---- 代码示例 : import java.awt.*; public class HelloAWT...void main(String[] args) { // Frame 默认的布局管理器就是 BorderLayout Frame frame = new Frame("AWT

58120

JavaSwing矩形绘制教程

可以使用JavaSwing中的Graphics类进行绘制,代码如下:import java.awt.Graphics;import javax.swing.JFrame;public class RectangleDrawing...代码如下:import java.awt.Color;import java.awt.Graphics;import javax.swing.JFrame;public class RectangleDrawing...实现用户交互最后,我们可以通过实现鼠标事件来实现用户交互。例如,可以在用户点击鼠标时在图形界面上绘制一个矩形。...代码如下:import java.awt.Color;import java.awt.Graphics;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent...通过创建图形界面、绘制矩形、修改矩形样式和实现用户交互等步骤,我们可以实现一个简单的矩形绘制程序。希望本教程能够对Java编程初学者有所帮助。

17830

Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布 ( 鼠标滚轮事件监听器 MouseWheelListener )

, 添加 鼠标滚轮监听器 MouseWheelListener , 实现该监听器中的 void mouseWheelMoved(MouseWheelEvent e) 函数 , 当鼠标滚轮滑动时 , 通过...AWT 图形界面编程】Canvas 中绘制超大图片 ( 使用鼠标拖动查看全图 | 设置 JFrame 窗口自动关闭 | 获取并绘制图片 | 鼠标拖动计算位移 | 画布偏移 ) 博客中 , 绘制了超大图像..., 可以使用鼠标拖动 , 这里在上述基础上 , 新增鼠标滚轮缩放示例 ; 1、代码示例 代码示例 : import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter...; import java.awt.event.MouseEvent; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener...窗口设置可见 frame.setVisible(true); } } 2、效果展示 程序运行后默认效果 : 使用鼠标滚轮缩小画布 : 拖动缩小后的画布到中央位置 :

2.2K30

Java程序设计(高级及专题)- GUI「建议收藏」

GUI的各种元素(如:窗口,按钮,文本框)由Java实现。 使用AWT所涉及的类一般在 java.awt 包及其子包中。 Container 和 Component 是AWT中的两个和心态。...的GUI提供的对象都存在 java.Awt 和 javax.Swing 两个包中. * * java.Awt:Abstract Window ToolKit(抽象 窗口工具包) * 需要调用本地系统方法实现功能....属重量级控件 (跨平台不够强) * * java.Swing:在AWT的基础上,建立的一套图形界面系统,器重提供了更多的组件, * 而且完全由java实现,增强了移植性,属于轻量级控件....Graphics类 Paint方法 每个 Component 都有一个 paint(Graphics g)用于实现绘图目的,每次重画该 Component 时都自动调用 paint 方法。...GUI/MyMouseAdapter.java 鼠标适配器 repaint-update()-paint(); 例如: import java.awt.Button; import java.awt.FlowLayout

52720

java高级语言程序设计_高级程序设计语言包括

GUI的各种元素(如:窗口,按钮,文本框)由Java实现。 使用AWT所涉及的类一般在 java.awt 包及其子包中。 Container 和 Component 是AWT中的两个和心态。...的GUI提供的对象都存在 java.Awt 和 javax.Swing 两个包中. * * java.Awt:Abstract Window ToolKit(抽象 窗口工具包) * 需要调用本地系统方法实现功能....属重量级控件 (跨平台不够强) * * java.Swing:在AWT的基础上,建立的一套图形界面系统,器重提供了更多的组件, * 而且完全由java实现,增强了移植性,属于轻量级控件....Graphics类 Paint方法 每个 Component 都有一个 paint(Graphics g)用于实现绘图目的,每次重画该 Component 时都自动调用 paint 方法。...GUI/MyMouseAdapter.java 鼠标适配器 repaint-update()-paint(); 例如: import java.awt.Button; import java.awt.FlowLayout

81710

Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

重载JApplet.update方法以便直接调用paint()。缺省时,AWT组件将实现它们的update方法以便擦除背景,然后调用paint()。这种技术在组件反复更新时,会导致许多闪烁。...2.1.5 小应用程序/应用程序的组合    有时需要实现这样一个源文件,它既可作为应用程序运行又可作为小应用程序运行。例2-3示出了一种实现小应用程序/应用程序组合的方法。 ...任何软件开发人员都可证实,把一个复杂的系统和以前预见的设计组合起来不是一个简单的任务,把轻量组件合并到AWT中也不例外。...(g); // paint lightweights   }  }    例2-7的小应用程序实现java.awt.Panel类的一个扩展(BorderedPanel),BorderedPanel在面板的外面画了一个黑边框...另外,除事件派发线程外的其他线程可以调度在事件派发线程上实现的可运行对象。  Swing是一个可靠的、工业标准的用户界面工具包,比AWT大有改进。

2.4K20

Java实现坦克大战1.0

在以下情况paint(将会被调用: 1.窗口最小化.再最大化 2.窗口的大小发生变化 3.repaint方法被调用 Graphics 类 Graphics类你可以理解就是画笔,为我们提供了各种绘制图形的方法...当事件发生时,产生事件的对象,会把此"信息”传递给"事件的监听者"处理,这里所说的“信息"实际上就是java.awt.event事件类库里某个类所创建的对象,把它称为"事件的对象"。...java.awt.event包和javax.swing.event包中定义了各种事件类型 事件类型:查阅jdk文档 事件监听器接口: (1)当事件源产生一个事件,可以传送给事件监听者处理...(3)事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现多个监听接口 (4)这些接口在java.awt.event包和javax.swing.event包中定义。....*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Vector; /**

72210

YourBatman用趣味代码雨祝你:端午安康

AWT AWT(Abstract Window Toolkit)意思是:抽象窗口具集,它是Sun公司最早提供的GUI库,在JDK 1.0版本就有提供。...GUI(Graphical User Interface):图形用户界面,是指采用图形方式显示的计算机操作用户界面 AWT是通过调用操作系统的native方法实现的,所以在Windows系统上的AWT窗口就是...因为AWT是依靠本地方法来实现功能的,所以AWT控件称为“重量级控件”。...Swing不仅提供的AWT的所有功能,还用纯粹的Java代码(并非native调用)对AWT的功能进行了大幅度的扩充,例如:树形控件不是所有操作系统都支持,但使用Swing就可以无视操作系统。...由于Swing是用Java实现而非native方法实现,因此具有完美的跨平台特性 由于Swing不适用native方法,所以相较于AWT也被称作“轻量级控件” 祝:端午安康 你开发了祝福的程序, 你安装了虚拟的系统

82551
领券