gpt4 book ai didi

java - 如何在我的 Java 小程序中使用 paint() 方法之外的图形?

转载 作者:行者123 更新时间:2023-11-29 08:11:28 24 4
gpt4 key购买 nike

我想在按下按钮后使用 drawString() 在我的小程序上绘制答案,但我无法弄清楚。我已经尝试了很多方法,我的程序可以编译,但是当按下按钮时不会 drawString() 请帮助。

import java.applet.Applet;
import java.awt.event.*;
import java.awt.Graphics.*;
import java.awt.*;

public class FortuneTellerApplet extends Applet {

Image image;
Button getFortune = new Button("Get Your Fortune");
Button tryAgain = new Button("Clear And Try Again");
TextField input = new TextField("Enter Question Here", 30);

public void init() {

image = getImage(getDocumentBase(), "webimages/crystalball.jpg");

getFortune.setBackground(Color.black);
getFortune.setForeground(Color.orange);
tryAgain.setBackground(Color.black);
tryAgain.setForeground(Color.orange);
input.setBackground(Color.black);
input.setForeground(Color.orange);

setLayout(new FlowLayout());
setBackground(Color.green);
add(getFortune);
add(tryAgain);
add(input);

MyHandler handler = new MyHandler();
getFortune.addActionListener(handler);
tryAgain.addActionListener(handler);

}

public void paint(Graphics g) {

g.drawImage(image, 12, 34, this);

}

public class MyHandler extends Button implements ActionListener {

public void actionPerformed(ActionEvent ev) {

if (ev.getSource()==getFortune) {

// >>>>>>>>> I want be able to use drawString() here <<<<<<<

} else if (ev.getSource()==tryAgain) {

input.setText("");
input.requestFocus();

}
}
}
}

最佳答案

你需要做定制绘画吗?

只需使用最初默认为空字符串的 Label。然后,当您想要显示答案时,您可以调用标签上的 setText() 方法来显示文本。

您为什么使用 AWT?我会学习 Swing 。我不使用 AWT,但我猜想如果您要进行自定义绘画,那么您应该在绘画方法的开头有一个 super.paint()。我知道这对 Swing 很重要。

关于java - 如何在我的 Java 小程序中使用 paint() 方法之外的图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945938/

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