gpt4 book ai didi

java - 如何在 java applet 中重新绘制绘制方法?

转载 作者:行者123 更新时间:2023-11-30 08:03:58 25 4
gpt4 key购买 nike

我想使用小程序在 2 个“框架”之间切换。

我想用一个小程序来绘制一些东西,然后将其移除并绘制其他东西。有什么办法吗?

例子:

if(true){
public void paint1(Graphics g) {
g.setColor(Color.black);
g.fillRect( 80,400, 20, 10 );
}
}else
public void paint2(Graphics g) {
g.setColor(Color.green);
g.fillRect( 50,440, 70, 60 );
}
}

我尝试过的所有尝试都导致小程序崩溃。

我的项目:我和我的 friend 正在编写一个简单的代码,我们需要在其中使用某种小程序图形。我们的想法是制作一个让 2 个角色上下跳跃的程序。问题是我们将有一个“人工智能”,只要他想跳,它就会跳。所以 CardLayout 不会起作用,因为那样我们就可以控制一切。

最佳答案

如果您打算在 2 个绘图之间“切换”,我会建议使用 CardLayout

但是,如果您想通过基于条件绘制来继续您当前拥有的内容,您可以这样做:

class DrawingSpace extends JPanel{

private BufferedImage display;
//Other variables, initializations, constructors not shown

private void init(){
display = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
}

public void draw(){
if(whatever){ //if whatever == true
Graphics2D g2 = display.createGraphics();
g2.setColor(Color.BLACK);
g2.fillRect( 80, 400, 20, 10 );
repaint();
}else{
Graphics2D g2 = display.createGraphics();
g2.setColor(Color.GREEN);
g2.fillRect( 50, 440, 70, 60 );
repaint();
}
}

@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(display, 0, 0, width, height, null);
}
}

关于java - 如何在 java applet 中重新绘制绘制方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36006147/

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