Witam mam następujący kod:
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.GregorianCalendar;
import javax.swing.*;
public class panelTest{
class TestPanela extends JFrame implements KeyListener{
private long start;
private long koniec;
private long czas;
private long all;
private JLabel lab;
int keyCode = -1;
public TestPanela(){
this.setFocusable(true);
this.addKeyListener(this);
//Container
Container powZawartosci=getContentPane();
powZawartosci.setLayout(new FlowLayout());
powZawartosci.setBackground(Color.lightGray);
//Tworzenie paneli
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JTextField poleTekstowe = new JTextField("", 15);
panel1.add(poleTekstowe);
panel2.add(lab);
powZawartosci.add(panel1);
powZawartosci.add(panel2);
powZawartosci.setSize(400,120);
setVisible(true);
}
@Override
public void keyPressed(KeyEvent arg0) {
if (arg0.getKeyCode() != keyCode) {
start = new GregorianCalendar().getTimeInMillis();
keyCode = arg0.getKeyCode();
}
}
@Override
public void keyReleased(KeyEvent arg0) {
if (arg0.getKeyCode() == keyCode) {
koniec = new GregorianCalendar().getTimeInMillis();
czas = koniec - start;
all = all + czas;
lab.setText("Key '" + arg0.getKeyChar() + "' pressed for " +
Double.toString((czas) * 0.001) + " seconds. Calkowity czas to: " +
Double.toString((all) * 0.001));
keyCode = -1;
}
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
public static void main(String[] atgs) {
panelTest pT = new panelTest();
TestPanela test = pT.new TestPanela();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Podczas próby kompilacji mam błąd:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at panelTest$TestPanela.<init>(panelTest.java:31)
at panelTest.main(panelTest.java:70)
Prawdopodobnie dotyczy on linii: panel2.add(lab);
Nie bardzo rozumiem o co chodzi. Jak dla mnie wszystko wygląda w porządku, jednak dopiero zaczynam zabawę z UI. Czy ktoś mógłby mi pomóc?