[英]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.