Java在小程序中显示图像

标签 java image applet awt

我创建了一个口袋妖怪猜测应用程序,它在左侧显示口袋妖怪轮廓的图像,在右侧显示一个黑色矩形。如果用户无法正确猜出神奇宝贝,他/她可以按下显示神奇宝贝的图片和名称的按钮。 当小程序第一次启动时,它看起来像这样:/image/kk4Z1.png

当用户第一次单击“显示”时,它看起来像这样:/image/Gprom.png

当再次按下“随机神奇宝贝”时,它看起来就像第二张图片,左侧是神奇宝贝剪影,右侧是显示的图片。

我需要它,以便当用户再次按下“随机 Pokemon”按钮时,它会再次显示黑色矩形。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.*;
import java.util.Random;

public class giffs extends Applet implements ActionListener
{
    boolean b = true;       
    AudioClip music0;
    Random r = new Random(); // random number generator
    int min = 1;
    int max = 70;
    int randomNumber = r.nextInt(max - min + 1) + min;      
    Button randompoke; // button to display a random pokemon
    Button reveal;  // reveals pokemon name
    Image poke; // shaded out pokemon picture
    Image poker; // revealed pokemon picture
    Image pokeball;

    public void init()
    {
        setSize(700,700);
        music0 = getAudioClip(getDocumentBase(), "music2.au");
        randompoke = new Button("Random Pokemon");
        reveal = new Button("Reveal");
        add(randompoke);
        add(reveal);
        randompoke.addActionListener(this);
        reveal.addActionListener(this);         
        poke = getImage(getDocumentBase(), "poke" + randomNumber + ".PNG");
        poker = getImage(getDocumentBase(), "poke" + randomNumber +"r"+ ".PNG");
        pokeball = getImage(getDocumentBase(), "pokeball.gif");
        music0.play();
    }

    public void update(Graphics g)
    {       
        g.drawImage(poke,20,20,this);
        g.drawImage(pokeball,450,20,this);
        g.fillRect(650,20,450,640);         
        if (b == false)
        {
            g.drawImage(poker,650,20,this);
        }
    }    

    public void actionPerformed(ActionEvent evt)
    {
        if(evt.getSource()== randompoke)
            {
                Random r = new Random();
                int randomNumber = r.nextInt(max - min + 1) + min;                  
                poke = getImage(getDocumentBase(), "poke" + randomNumber + ".PNG");
                poker = getImage(getDocumentBase(), "poke" + randomNumber +"r"+ ".PNG");                    
                repaint();

            }
        else if(evt.getSource() == reveal)
        {
            b = false;
            repaint();              
        }
    }
}

最佳答案

只需添加一个绘制矩形即可

if(evt.getSource()== randompoke) 

内部 Action 执行红色。

关于Java在小程序中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23652511/

相关文章:

java - 使用 RecyclerView 和 GridLayoutManager 向布局添加动态按钮

java - 如何将字符串设置为等于.txt 文件中的文本

java - 来自字符串的瞬间数组

android - CodeNameOne - 替换生成的 Android 源代码中的图像

image - 单击打开用户邮件的图像,将其发送到我的电子邮件地址

java - 如何为小程序配置新的安全对话框?

java japplet不接受输入

java - 如何在构造函数中使用@Value?

Python OpenCV cv2 绘制带文本的矩形

java - 用java运行纸张扫描仪软件