gpt4 book ai didi

Java 图形在计时器中不工作

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:28 24 4
gpt4 key购买 nike

我正在用java编写一个小游戏。为此,我想打印一个对话框文本框,其中包含一些文本,以便与游戏中的人交谈。

    public static void printConBox(Graphics g, String firstLine, String secondLine, String thirdLine, String fourthLine){
g.setColor(Color.WHITE);
g.fillRect(x, y, 600, 180);
g.setColor(Color.BLACK);
Timer timer = new Timer();
timer.schedule(new TimerTask(){

@Override
public void run() {
if(i <= firstLine.length() - 1){
char c = firstLine.charAt(i);
i++;
String s = "" + c;
System.out.print(s);
g.drawString(s, xdif, y + 25);
xdif += 15;
}else{
timer.cancel();
}
}

}, 0, 100);}

不用担心图形,这是有效的,因为程序正在绘制白色文本框。但字符串“firstLine”中的字母不存在。在运行中这应该是文本的动画!

我认为这与 der Timer 有关!但是输出控制台中的打印工作正常!我还在 for 循环中尝试使用 Thread.sleep,但仍然不起作用...

有什么想法吗?...

PS:我已经使用了paintComponent之类的东西,所以图形工作正常,相信我;)

最佳答案

    public void actionPerformed(ActionEvent e){ 
if(Conversation.i <= firstLine.length() - 1){
char c = firstLine.charAt(Conversation.i);
Conversation.i++;
String s = "" + c;
System.out.print(s);
g.drawString(s, Conversation.xdif, Conversation.y + 25);
Conversation.xdif += 15;
Conversation.timer.restart();
}else{
Conversation.timer.stop();
}
}

但是我如何获得与计时器一起工作的 der actionPerformed 中的图形?顺便说一句,System.out 又开始工作了!不错...;)

关于Java 图形在计时器中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681713/

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