gpt4 book ai didi

Java AWT Window实现不运行paint()函数

转载 作者:行者123 更新时间:2023-12-01 19:07:09 24 4
gpt4 key购买 nike

(我完全意识到这是一种古老的方法 - 我必须这样做)

我正在尝试使用 AWTWindow 类将基本视觉效果绘制到屏幕上 - 窗口显示出来,但是,尽管 Paint() 函数正在运行(使用 sysout 进行测试) - 没有显示任何内容。

有问题的代码:

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;

public class a {

static a a = new a();
public static void main(String[] args) {
b b = a.new b();
b.setVisible(true);
b.pack();
}
class b extends Frame {
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
g.fillRect(0, 0, 16, 16);
repaint();
}
}
}

如果有人知道导致此问题的原因或如何纠正它,我将非常感谢您的帮助。

提前致谢!

最佳答案

事实证明,我需要一个额外的 Canvas 对象来绘制 - 这是任何遇到我遇到的问题的人的功能代码

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;

public class a {

static a a = new a();
public static void main(String[] args) {
Frame f = new Frame();
b b = a.new b();
f.add(b);
f.setVisible(true);
f.pack();
}
class b extends Canvas {
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
g.fillRect(0, 0, 16, 16);
repaint();
}
}
}

关于Java AWT Window实现不运行paint()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59529715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com