Hallo,
ich programmiere als Projekt 4Gewinnt und habe bis jetzt zuerst das Spielfeld mit den JButtons erstellt,
weiß aber nicht weiter. Ich will dass wenn ich die verschiedenen JButtons (unten links) anklicke
dass sich je nachdem welchen ich anklicke die oberste Lampe im Feld füllt (Farbe erstmal egal),
also wenn ich Jbutton 1 anklicke (unten links), dann soll sich die erste lampe oben links im spielfeld färben,
wenn Jbutton 2 dann die nächste Lampe (nach rechts) usw.
Ich weiß dass ich dafür einen ActionListener brauche, weiß aber noch nicht wie man diesen ausführt.
Kann mir einer sagen wie der Code dafür heißen muss?
Hier die Klassen und Screenshot:
Klasse "SPIEL":
Alles anzeigen
Klasse "LAMPE":
Alles anzeigen
Klasse "MASTER":
Alles anzeigen
hier mal ein Screenshot:
[Blockierte Grafik: http://s14.directupload.net/images/120321/ckrlljkp.jpg]
ich programmiere als Projekt 4Gewinnt und habe bis jetzt zuerst das Spielfeld mit den JButtons erstellt,
weiß aber nicht weiter. Ich will dass wenn ich die verschiedenen JButtons (unten links) anklicke
dass sich je nachdem welchen ich anklicke die oberste Lampe im Feld füllt (Farbe erstmal egal),
also wenn ich Jbutton 1 anklicke (unten links), dann soll sich die erste lampe oben links im spielfeld färben,
wenn Jbutton 2 dann die nächste Lampe (nach rechts) usw.
Ich weiß dass ich dafür einen ActionListener brauche, weiß aber noch nicht wie man diesen ausführt.
Kann mir einer sagen wie der Code dafür heißen muss?
Hier die Klassen und Screenshot:
Klasse "SPIEL":
Quellcode
- public class SPIEL
- { public LAMPE[][] spielfeld;
- int groesse;
- public SPIEL()
- {
- groesse=20;
- spielfeld = new LAMPE[7][6];
- for (int i = 0; i<7; i++)
- for (int k = 0; k<6; k++)
- spielfeld[i][k] = new LAMPE(150+2*groesse*i,120+2*groesse*k, groesse);
- }
- public void zeichne()
- {
- for (int i = 0; i<7;i++)
- for (int k = 0; k<6;k++)
- spielfeld[i][k].zeichne();
- for (int i = 0; i<6;i++);
- }
- public void loeschen()
- {
- for (int i = 0; i<7; i++)
- for (int k = 0; k<6; k++);
- }
- }
Klasse "LAMPE":
Quellcode
- public class LAMPE
- { private int px,py;
- protected int radius, farbe;
- public LAMPE(int startx, int starty,int radiusneu)
- {
- px = startx;
- py = starty;
- farbe = 7;
- radius = radiusneu;
- }
- public void zeichne()
- {
- ZEICHENFENSTER.gibFenster().zeichneRechteck(px, py, 2*radius, 2*radius);
- ZEICHENFENSTER.gibFenster().fuelleKreis(px+radius, py+radius, radius, farbe);
- }
- public int farbeholen()
- {
- return farbe;
- }
- public int holradius()
- {
- return radius;
- }
- }
Klasse "MASTER":
Java-Quellcode
- import javax.swing.*;
- import java.awt.event.*;
- import java.util.Random;
- public class MASTER
- {
- private SPIEL s;
- private JButton start, auswerten, Feld1, Feld2, Feld3, Feld4, Feld5, Feld6, Feld7;
- private JLabel anzeige;
- private int fx,fy, fzeile, black, white;
- public MASTER()
- {
- s = new SPIEL();
- start = new JButton("START");
- auswerten = new JButton("AUSWERTEN");
- Feld1 = new JButton("|");
- Feld2 = new JButton("|");
- Feld3 = new JButton("|");
- Feld4 = new JButton("|");
- Feld5 = new JButton("|");
- Feld6 = new JButton("|");
- Feld7 = new JButton("|");
- s.zeichne();
- fx =0;
- fy =0;
- start.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent st)
- {
- loeschen();
- spielen();
- }
- }
- );
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(start,"rechts");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(auswerten,"rechts");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld1,"unten");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld2,"unten");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld3,"unten");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld4,"unten");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld5,"unten");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld6,"unten");
- ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(Feld7,"unten");
- }
- public void spielen()
- {
- Feld1.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent bl)
- {
- if (fy<7)
- {
- if (fx<6)
- fx++;
- else
- {
- fx=0;
- fy++;
- }
- s.zeichne();
- }
- else;
- }
- }
- );
- Feld2.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent gr)
- {
- if (fy<7)
- {
- if (fx<6)
- fx++;
- else
- {
- fx=0;
- fy++;
- }
- s.zeichne();
- }
- else;
- }
- }
- );
- Feld3.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent ro)
- {
- if (fy<7)
- {
- if (fx<6)
- fx++;
- else
- {
- fx=0;
- fy++;
- }
- s.zeichne();
- }
- else;
- }
- }
- );
- Feld4.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent ma)
- {
- if (fy<7)
- {
- if (fx<6)
- fx++;
- else
- {
- fx=0;
- fy++;
- }
- s.zeichne();
- }
- else;
- }
- }
- );
- Feld5.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent ge)
- {
- if (fy<7)
- {
- if (fx<6)
- fx++;
- else
- {
- fx=0;
- fy++;
- }
- s.zeichne();
- }
- else;
- }
- }
- );
- }
- public void loeschen()
- {
- for (int i=0;i<4;i++)
- s.loeschen();
- fx=0;
- fy=0;
- s.zeichne();
- }
- }
hier mal ein Screenshot:
[Blockierte Grafik: http://s14.directupload.net/images/120321/ckrlljkp.jpg]