首页
学习
活动
专区
工具
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.3K20

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

    83210

    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

    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

    57810

    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方法,什么时候会重画,比方说先把这个窗口隐藏,然后再显示这个窗口,或者创建这个窗口的时候,都会重画。

    90320

    事件模型

    反映到计算机上,你可以把某个代码写好,然后告诉某个对象比方说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

    52310

    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

    64120

    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编程初学者有所帮助。

    20330

    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.3K30

    Java图形用户界面之Applet设计

    paint()方法中,我们使用Graphics对象在Applet的画布上输出一条信息“Hello World!”。 运行Java Applet需要将其与一个HTML文件一起使用。...常用的 Web 浏览器,其默认的安全设置也不允许 Java Applet 直接运行。但通过对浏览器的安全级别、数据签名、安全策略的修改和配置,是可以实现Java Applet 对本地资源的访问的。...Applet 运行时,首先由浏览器调用 init()方法,执行一些初始化操作。该方法常被重写,实现设置布局管理器、绘制窗口、数据初始化、加载图形和声音等功能。...该线程主要负责两种处理:第一,在Applet的初次显示,或运行过程中浏览器窗口大小发生变化而引起 Applet 的显示发生变化时,该线程将调用 Applet 的 paint()方法进行 Applet 绘制...代码示例 以下是一个示例代码,用于实现在Applet窗口中输入两个数并求和后显示结果: import java.applet.Applet; import java.awt.*; import java.awt.event.ActionEvent

    8710

    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

    82810

    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

    54420

    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.5K20

    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; /**

    74910
    领券