Problem y dodaniem labela
Strona [ 1 ] z 1
| zenonmocarny |
07-02-2010 23:35 |
|
Użytkownik Status: Offline Dołączył: 22-12-2009 |
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? Ostatnio zmodyfikowany: 07-02-2010 23:38 przez zenonmocarny |
|
|
| pecet |
07-02-2010 23:43 |
|
Użytkownik Status: Offline Dołączył: 11-01-2006 Skąd: Lublin |
w tym miejscu panel2.add(lab); dodajesz nie za inicjalizowaną zmienną 'lab' najpierw przed tą linijką wstaw pecet |
|
|
| zenonmocarny |
07-02-2010 23:48 |
|
Użytkownik Status: Offline Dołączył: 22-12-2009 |
Właśnie kapnąłem się że tego mi brakowało. dzięki |
|
|
|
|
|
Strona [ 1 ] z 1
| 1 użytkownik(ów) przegląda ten temat (1 gości) |
|---|
| (żadnych zarejestrowanych użytkowników) |









