Hallo,
Ich bin gerade dabei mir Java beizubringen. Dazu arbeite ich jetzt schon ein bisschen mit dem Gailer-net Tutorial und bin nun bei den Swing Componenten angekommen.
Eine Aufgabe ist da nun eine Art PIN-Abfrage einzubauen... Ich glaube ich bin kurz vor dem breakthrough der Aufgabe :applaus: aber bleibe leider an gewisse Basics hängen.
Ich will die ActionCommands der geklickten JButtons in ein Array packen und bekomme ein NullPointer. Irgendwas mache ich beim befüllen falsch. ANMERKUNG: Eigentlich sind es neun JButtons, habe aber aus Gründen der Übersichtlichkeit mal nur drei angeben.
Wäre coole wenn einer mal gucken könnte was da schief geht. Über Anmerkungen über besseren Code bin ich dankbar, solange sie nicht allzu ernüchternd sind
Besten Dank schonmal,
Dixi
Ich bin gerade dabei mir Java beizubringen. Dazu arbeite ich jetzt schon ein bisschen mit dem Gailer-net Tutorial und bin nun bei den Swing Componenten angekommen.
Eine Aufgabe ist da nun eine Art PIN-Abfrage einzubauen... Ich glaube ich bin kurz vor dem breakthrough der Aufgabe :applaus: aber bleibe leider an gewisse Basics hängen.
Ich will die ActionCommands der geklickten JButtons in ein Array packen und bekomme ein NullPointer. Irgendwas mache ich beim befüllen falsch. ANMERKUNG: Eigentlich sind es neun JButtons, habe aber aus Gründen der Übersichtlichkeit mal nur drei angeben.
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class TwoButtons extends JFrame implements ActionListener
{
JPanel panel;
String[] CodeArr[];
int zaehler;
TwoButtons(){
panel = new JPanel();
add(panel);
JButton Zero = new JButton("0");
JButton One = new JButton("1");
JButton Two = new JButton("2");
Zero.setActionCommand("0"); // set the command
One.setActionCommand("1"); // set the command
Two.setActionCommand("2"); // set the command
panel.setLayout( new FlowLayout());
panel.add(Zero);
panel.add(One);
panel.add(Two);
Zero.addActionListener(this);
One.addActionListener(this);
Two.addActionListener(this);
}
public void actionPerformed(ActionEvent schit){
zaehler++;
String test = schit.getActionCommand();
for (int j = 0;j < 3; j++){
Arrays.fill(CodeArr[j], test);
}
if (zaehler == 3){
CodeValidator();
}
}
private void CodeValidator(){
String[] Validator = {"0", "0", "0"};
if (Arrays.equals(Validator, CodeArr)){
//panel.setBackground(Color.green);
System.exit(0);
}
else {
panel.setBackground(Color.red);
}
}
public static void main (String[] args){
TwoButtons TB = new TwoButtons();
TB.setSize(300,175);
TB.setVisible(true);
}
}
Wäre coole wenn einer mal gucken könnte was da schief geht. Über Anmerkungen über besseren Code bin ich dankbar, solange sie nicht allzu ernüchternd sind
Besten Dank schonmal,
Dixi