Salve ragazzi ho bisogno di un vostro aiuto importante...
riguarda la creazione di un monopoli in java...
sto utilizzando 3 pannelli,1 per il tavolo da gioco,1 per il dado e 1 per il riassunto dei soldi dei giocatori ...
tra qsti pannelli 2 hanno il proprio paint...
1 è qlla della scacchiera..
l altro riguarda il dado,premo un JButton ed esce la figura del dado..
il problema è che questo secondo paint non funziona,o meglio,funziona ma carica una sola immagine,la prima!!!
io carico le immagini con : Image valore=ImageIO.read(new File("dadi/one.png"));,come anke il tavolo.. spero vada bene.. il fatto è che non riesco a caricare le altre immagini se ripremo il dado...
vi posto quella parte di codice...
public class ThirdPanel extends JPanel {
Dado dado=new Dado();
JLabel label;
JButton button;
Image valore;
//Costruttore
ThirdPanel(){
this.setBounds(1000, 0, 280, 480);
this.setVisible(true);
ActionListener asc=new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
try {
ThirdPanel.this.aggiorna();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
button=new JButton("lancia il dado");
button.setBounds(100, 50, 50, 50);
label=new JLabel();
button.addActionListener(asc);
this.add(button);
this.add(label);
}
//Fine Costruttore
public void paintBorder(Graphics g){
g.drawImage(valore,100,200 , null);
}
public void aggiorna() throws IOException {
int i=(int)dado.gira();
label.setText("il valore del dado è:"+i);
if(i==1)
valore=ImageIO.read(new File("dadi/one.png"));
if(i==2)
valore=ImageIO.read(new File("dadi/two.png"));
if(i==3)
valore=ImageIO.read(new File("dadi/three.png"));
if(i==4)
valore=ImageIO.read(new File("dadi/four.png"));
if(i==5)
valore=ImageIO.read(new File("dadi/five.png"));
if(i==6)
valore=ImageIO.read(new File("dadi/six.png"));
repaint();
}
}

Rispondi quotando