簡體   English   中英

Java在小程序中顯示圖像

[英]Java displaying images in applet

我創建了一個Pokemon猜測應用程序,該應用程序在左側顯示一個Pokemon輪廓的圖像,在右側顯示一個黑色矩形。 如果用戶無法正確猜出神奇寶貝,他/她可以按下顯示神奇寶貝的圖片和名稱的按鈕。 首次啟動小程序時,它看起來像這樣: http : //i.imgur.com/2IO7kb3.png

當用戶第一次單擊“顯示”時,它看起來像這樣: http : //i.imgur.com/xbTJzrF.png

當再次按下“隨機口袋妖怪”時,它看起來像第二張圖片,口袋妖怪的輪廓在左側,顯示的圖片在右側。

我需要它,以便當用戶再次按下“隨機口袋妖怪”按鈕時,它再次顯示黑色矩形。

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();              
        }
    }
}

只需添加一個drawrectangle

if(evt.getSource()== randompoke) 

內部動作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM