Hallo,
Ich schreibe momentan ein TicTacToe Spiel, dessen Panel ich mit GridLayout geteilt habe. Die Buttons sind alle hinzugefügt. Bisher habe ich nichts gezeichnet. Nun muss ich per Action Listener befehlen, entweder ein Kreuz wenn der Spieler dran ist, oder ein Kreis, wenn der Computer am Zug ist, zu erscheinen zu lassen.
Statt eines Strings mit "X" und "O" habe ich per ImageIO. selbsterstellte png.-Bilder hochgeladen. Ich bekomme sie aber partout nicht auf meine Buttons.
Meine Klassen bisher:
(Menu für das Hauptmenü)
MyWin für das GUI des Spiels
Symbole Adder zum Hochladen der Bilder
und PaintSymbs, um die Bilder hinzuzufügen. Klappt leider nicht.
Hätte da jemand eine Idee, die mir weiterhelfen könnte ?
Würd mich freuen.
Ich schreibe momentan ein TicTacToe Spiel, dessen Panel ich mit GridLayout geteilt habe. Die Buttons sind alle hinzugefügt. Bisher habe ich nichts gezeichnet. Nun muss ich per Action Listener befehlen, entweder ein Kreuz wenn der Spieler dran ist, oder ein Kreis, wenn der Computer am Zug ist, zu erscheinen zu lassen.
Statt eines Strings mit "X" und "O" habe ich per ImageIO. selbsterstellte png.-Bilder hochgeladen. Ich bekomme sie aber partout nicht auf meine Buttons.
Meine Klassen bisher:
(Menu für das Hauptmenü)
MyWin für das GUI des Spiels
Symbole Adder zum Hochladen der Bilder
und PaintSymbs, um die Bilder hinzuzufügen. Klappt leider nicht.
Hätte da jemand eine Idee, die mir weiterhelfen könnte ?
Würd mich freuen.
Java:
public class SymboleAdder {
static Image kreis, kreuz;
public SymboleAdder() throws IOException{
kreis = ImageIO.read(new File("symboles/kreis.png"));
kreuz = ImageIO.read(new File("symboles/kreuz.png"));
}
}
Java:
public class MyWin extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JFrame win;
private LayoutManager gamedesign = new BorderLayout();
private JPanel gamepanel = new JPanel();
private JPanel ticpanel = new JPanel();
private JPanel opt1 = new JPanel();
private static boolean active= true; //aktiver Player ist dran
//private String field [][]= new String [3][3];
static int state []= new int [9];
//GridField
private LayoutManager design = new GridLayout(3, 3);
private static JButton button [] = new JButton [9];
public MyWin() {
PaintSymbs g = new PaintSymbs();
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setTitle("Tic Tac Toe");
this.addWindowListener(new DialogListener());
this.setVisible(true);
this.add(gamepanel);
gamepanel.setLayout(gamedesign);
gamepanel.add(ticpanel, BorderLayout.CENTER);
gamepanel.add(opt1, BorderLayout.SOUTH);
opt1.add(save);
opt1.add(newGame);
opt1.add(colorswitch);
opt1.add(exit);
save.addActionListener(this);
newGame.addActionListener(this);
colorswitch.addActionListener(this);
exit.addActionListener(this);
ticpanel.setLayout(design);
//ticpanel.add(g);
for (int i = 0 ; i< button.length; i ++){
button[i]= new JButton(""+(i+ 1)+"");
button[i].setVisible(true);
button[i].addActionListener(this);
button[i].setActionCommand(""+(i+1));
ticpanel.add(button[i]);
}
}
@Override
public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand().trim();
[B] //ACTIONS DER BUTTONS![/B]
if(e.getSource()==button[0]){
if(state[0]==0 && active == true ){
state[0]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[0]==0 && active == false){
state[0]= 2 ;
active = true;
}
}
else if(e.getSource()==button[1]){
if(state[1]==0 && active == true ){
state[0]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[1]==0 && active == false){
state[1]= 2 ;
active = true;
}
}
else if(e.getSource()==button[2]){
if(state[2]==0 && active == true ){
state[2]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[2]==0 && active == false){
state[2]= 2 ;
active = true;
}
}
else if(e.getSource()==button[3]){
if(state[3]==0 && active == true ){
state[3]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[3]==0 && active == false){
state[3]= 2 ;
active = true;
}
}
else if(e.getSource()==button[4]){
if(state[4]==0 && active == true ){
state[4]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[4]==0 && active == false){
state[4]= 2 ;
active = true;
}
}
else if(e.getSource()==button[5]){
if(state[5]==0 && active == true ){
state[5]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[5]==0 && active == false){
state[5]= 2 ;
active = true;
}
}
else if(e.getSource()==button[6]){
if(state[6]==0 && active == true ){
state[6]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[6]==0 && active == false){
state[6]= 2 ;
active = true;
}
}
else if(e.getSource()==button[7]){
if(state[7]==0 && active == true ){
state[7]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[7]==0 && active == false){
state[7]= 2 ;
active = true;
}
}
else if(e.getSource()==button[8]){
if(state[8]==0 && active == true ){
state[8]=1;
active = false; //Bei false ist der Computer dran!
}else if(state[8]==0 && active == false){
state[8]= 2 ;
active = true;
}
}