gpt4 book ai didi

java - 按下按钮后尝试绘画

转载 作者:行者123 更新时间:2023-12-02 05:38:52 25 4
gpt4 key购买 nike

按下按钮后如何使其重新绘制?当我启动小程序时,它会在随机位置绘制 2 个具有随机宽度和高度的矩形,如何让它们在按下按钮后在不同位置“重生”?

package test;

import java.applet.Applet;
import java.awt.Button;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

public class Main extends Applet implements ActionListener{

private static final long serialVersionUID = 1L;
Thread thread = new Thread();
boolean running = true;
Random r = new Random();
public int randX = r.nextInt(400);
public int randY = r.nextInt(400);
public int randW = r.nextInt(100);
public int randH = r.nextInt(100);

public int randX2 = r.nextInt(400);
public int randY2= r.nextInt(400);
public int randW2 = r.nextInt(100);
public int randH2 = r.nextInt(100);


public void start(){thread.start();}
public void stop(){}
public void init(){
setSize(500,500);
Button randomButton = new Button("RANDOMNESS");
randomButton.addActionListener(this);
add(randomButton);
}

public void run(){}
public void destroy(){}

public void paint(Graphics g){ //paints rect with random with and height
g.fillRect(randX, randY, randW, randH);
g.fillRect(randX2, randY2, randW2, randH2);
}

@Override
public void actionPerformed(ActionEvent e) {// How can they repaint at a different random location after pressing the button?
System.out.println("WORKING");

}

}

最佳答案

您可以在您的 actionPerformed(...) 方法中简单地更改 randX、randY 等,方法是为它们提供新的随机值,就像您当前所做的那样,然后调用repaint() 来通知小程序重新绘制自身?

<小时/>

顺便说一句,这段代码应该做什么?

Thread thread = new Thread();

// .....

public void start(){thread.start();}

根据我的观点,它没有多大作用。

关于java - 按下按钮后尝试绘画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24705833/

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