# JButton - Klicks zählen auf mehreren Buttons



## adriano-celenta (15. Aug 2012)

Hallo Leute,

ich stecke momentan bei folgendem Punkt in meinem Projekt "Schiffe versenken".

Ich möchte bestimmen wie oft schon insgesamt auf meine Buttons gedrückt wird.
Hintergrund wäre der, dass ich ingesamt nur 5 Buttons anklicken möchte. Bei den klicks soll dann ein True Wert in ein Boolean Array reingeschrieben werden. Später verprüfe ich dann auf die Richtigkeit.

Theoretisch geht es, dass ich die Anzahl der Klicks auf ein Button zähle. Die Anzahl möchte dann einer weiteren Variable (externer_count)abspeichern und dann wieder bei der Prüfung abrufen.

Wir gesagt, theoretisch...Praktisch habe ich es noch nicht geschaft... :noe: 

Anbei mein Code bei dem ich ich die true-Werte an das Boolean-Array übergebe.
[JAVA=42]panel.add(btnNewButton_x);
			btnNewButton_x.addActionListener(new ActionListener() {
				// setzten der Arrays
				private int counter;
				// Counter setzen mit private - anders hats nicht funktioniert??
				// für Zeile 115
				Component c = panel.getComponent(buttonNo);
				JButton b = (JButton) c;

				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub
					int y = buttonNo / 10;
					int x = buttonNo - (y * 10);
					if (counter <= 2)
					// Prüfen wie oft schon geklickt wurde auf ein Feld
					{
						field.setField(x, y, true);
						counter++;
						field.setInner_counter(counter);
						System.out.println(field.getInner_counter() + " " + field.getExterner_counter() +  " " + counter);
					}
				}

			});
[/code]

[JAVA=42]
ublic class Schiffe_setzen {
	boolean field[][] = new boolean [10][10];
	int inner_counter;			//Zahler auf dem Button
	int externer_counter;		//Zähler insgesammt für die Buttons

	Schiffe_setzen(){

	}

	public boolean getField(int x, int y) {
		return field [x][y];
	}

	public void setField(int x, int y, boolean b) {
		this.field [x][y] = b;
	}

	public int getExterner_counter() {
		externer_counter =+ inner_counter;
		return externer_counter;
	}

	public void setExterner_counter(int externer_counter) {
		this.externer_counter = externer_counter;
	}

	public int getInner_counter() {
		return inner_counter;
	}
	public void setInner_counter(int inner_counter) {
		externer_counter =+ inner_counter;
		this.inner_counter = inner_counter;
	}

}
[/code]

Ich schaffe es, die Klicks auf dem einzelnen Button zuzählen ABER nicht die Klicks insgesammt.

Wie immer freue ich mich auf eure Antwort.

Beste Grüße,

euer Adriano Celentano


----------



## adriano-celenta (15. Aug 2012)

Danke an alle, habe es selbst hinbekommen.


----------



## mock789 (18. Aug 2012)

Nichtsdestotrotz, im Buch Java von Kopf bis Fuss gibt es ein schönes und ausführliches Beispiel zu Schiffe versenken...


----------

