Hallo Zusammen,
mein Problem ist das es ein Fehler(NullPointerException) bei der Aktivierung einer Methode gibt.
Diese Methode durchläuft ein Array von JPanel's und soll, wenn ein JPanel einen Blauen Hintergrund hat
die Zähl Variable der Schleife zurückgeben. Die Methode ( public void Feldbestimmung() ) ist in der gleichen Klasse wo das Array erstellt und initialisiert wird und ich weiß nicht wo der Fehler liegt. Ich hoffe ihr könnt mir weiterhelfen.
und wenn wir schon dabei sind könnt ihr mir noch sagen ober der vergleich in der Methode feldbestimmung() überhaut möglich ist weil ich so einen vergelich erst zum erstenmal gemacht habe.
So, hier kommen noch die anderen zwei Klassen worüber ich die Methode aufrufe
und
Danke für eure Hilfe im Vorraus.
mein Problem ist das es ein Fehler(NullPointerException) bei der Aktivierung einer Methode gibt.
Diese Methode durchläuft ein Array von JPanel's und soll, wenn ein JPanel einen Blauen Hintergrund hat
die Zähl Variable der Schleife zurückgeben. Die Methode ( public void Feldbestimmung() ) ist in der gleichen Klasse wo das Array erstellt und initialisiert wird und ich weiß nicht wo der Fehler liegt. Ich hoffe ihr könnt mir weiterhelfen.
Java:
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.*;
public class Layout extends JFrame {
private Container c;
private JPanel[] felder;
public JTextField texteingabe;
private int i;
public JPanel[] getFelder() {
return felder;
}
public void setFelder(JPanel[] felder) {
this.felder = felder;
}
public Layout() {
c = getContentPane();
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
c.setLayout(new GridLayout(10, 10));// Layout für c wird festgelegt
texteingabe = new JTextField();
felder = new JPanel[100];// Felder werden erzeugt
for (i = 0; i < felder.length; i++) {
felder[i] = new JPanel();
c.add(felder[i]);
// felder[i].setBackground(new Color(i+50,i+20,i+4));
}
// texteingabe.setBackground(new Color(i+50,i+20,i+4));
// felder[5].setBackground(Color.BLUE);
texteingabe.setBorder(null);
felder[99].add(texteingabe);
}
public Layout(int abc) {
}
public void farbwechsel(int feld) {
felder[feld].setBackground(Color.blue);
}
public int feldbestimmung() {
for (int i = 0; i < 100; i++) {
if (felder[i].getBackground()==Color.BLUE) {//-------------------Hier kommt die NullPointerExeception-----------------
return i;
}
}
return -1;
}
}
und wenn wir schon dabei sind könnt ihr mir noch sagen ober der vergleich in der Methode feldbestimmung() überhaut möglich ist weil ich so einen vergelich erst zum erstenmal gemacht habe.
So, hier kommen noch die anderen zwei Klassen worüber ich die Methode aufrufe
Java:
public class Bewegen extends Layout{
private int position;
public void Links(){
position=feldbestimmung();
System.out.println(position);
}
public Bewegen(){
super(1);
}
}
Java:
public class Haupt {
/**
* @param args
*/
public static void main(String[] args) {
Layout layout=new Layout();
Tasteneingebae tEingabe=new Tasteneingebae();
layout.texteingabe.addKeyListener(tEingabe);
layout.farbwechsel(20);
}
}
Danke für eure Hilfe im Vorraus.