Witam,
Mam problem w projekcie chciałbym zrobić grę rzucanie kostką (5 kostkami), i nie chce w Lisntenerze zmienić tła buttona ;/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.Random;
public class Gra extends JFrame
{ Button przy1,przy2,przy3,przy4,przy5,przy6;
static int b1,b2,b3,b4,b5,b6;
ImageIcon jeden = new ImageIcon("kostka/1.jpg");
ImageIcon dwa = new ImageIcon("kostka/2.jpg");
ImageIcon trzy = new ImageIcon("kostka/3.jpg");
ImageIcon cztery = new ImageIcon("kostka/4.jpg");
ImageIcon piec = new ImageIcon("kostka/5.jpg");
ImageIcon szesc = new ImageIcon("kostka/6.jpg");
public Gra() {
super("Gra kości");
ActionListener a = new MyActionListener();
getContentPane().setLayout(new FlowLayout());
Font Monospaced = new Font("monospaced",Font.PLAIN, 30);
Random r = new Random();
b1 = r.nextInt(6)+1;
b2 = r.nextInt(6)+1;
b3 = r.nextInt(6)+1;
b4 = r.nextInt(6)+1;
b5 = r.nextInt(6)+1;
b6 = r.nextInt(6)+1;
JButton przy1 = new JButton();
przy1.setBackground(Color.white);
getContentPane().add(przy1);
JButton przy2 = new JButton();
przy2.setBackground(Color.white);
getContentPane().add(przy2);
JButton przy3 = new JButton();
przy3.setBackground(Color.white);
getContentPane().add(przy3);
JButton przy4 = new JButton();
przy4.setBackground(Color.white);
getContentPane().add(przy4);
JButton przy5 = new JButton();
przy5.setBackground(Color.white);
getContentPane().add(przy5);
JButton przy6 = new JButton("LOSUJ");
przy6.setBackground(Color.black);
przy6.setFont(Monospaced);
przy6.setActionCommand("losuj");
przy6.addActionListener(a);
getContentPane().add(przy6);
if (b1==1){przy1.setIcon(jeden);}
else if (b1==2){przy1.setIcon(dwa);}
else if (b1==3){przy1.setIcon(trzy);}
else if (b1==4){przy1.setIcon(cztery);}
else if (b1==5){przy1.setIcon(piec);}
else if (b1==6){przy1.setIcon(szesc);}
if (b2==1){przy2.setIcon(jeden);}
else if (b2==2){przy2.setIcon(dwa);}
else if (b2==3){przy2.setIcon(trzy);}
else if (b2==4){przy2.setIcon(cztery);}
else if (b2==5){przy2.setIcon(piec);}
else if (b2==6){przy2.setIcon(szesc);}
if (b3==1){przy3.setIcon(jeden);}
else if (b3==2){przy3.setIcon(dwa);}
else if (b3==3){przy3.setIcon(trzy);}
else if (b3==4){przy3.setIcon(cztery);}
else if (b3==5){przy3.setIcon(piec);}
else if (b3==6){przy3.setIcon(szesc);}
if (b4==1){przy4.setIcon(jeden);}
else if (b4==2){przy4.setIcon(dwa);}
else if (b4==3){przy4.setIcon(trzy);}
else if (b4==4){przy4.setIcon(cztery);}
else if (b4==5){przy4.setIcon(piec);}
else if (b4==6){przy4.setIcon(szesc);}
if (b5==1){przy5.setIcon(jeden);}
else if (b5==2){przy5.setIcon(dwa);}
else if (b5==3){przy5.setIcon(trzy);}
else if (b5==4){przy5.setIcon(cztery);}
else if (b5==5){przy5.setIcon(piec);}
else if (b5==6){przy5.setIcon(szesc);}
setSize(850, 280);
setVisible(true);
}
class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent ae) {
String s = ae.getActionCommand();
if (s.equals("losuj")){
//new Gra(); <- Tu chciałbym po naciśnięciu przycisku losuj aby znów losował icony (tło buttona) przycisku a potem je ustawił
}
if (s.equals("Wyjscie")){
System.exit(0);
}
}
}
public static void main(String argv[]) {
new Gra();
}
}
</code=java >
Robię to jako przyciski ponieważ chciałbym później dodać opcje gdy przycisk którejś z kostek będzie wciśnięty to losować będzie wszystkie inne oprócz tej wciśniętej