Problem y dodaniem labela

szukaj na forum nowy temat odpowiedz

Strona [ 1 ] z 1

zenonmocarny ten post 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
Przejdź na górę strony
cytuj
pecet ten post 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
lab = new JLabel("tekst")

pecet
Przejdź na górę strony
cytuj
zenonmocarny ten post 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
Przejdź na górę strony
cytuj
szukaj na forum nowy temat odpowiedz

Strona [ 1 ] z 1

1 użytkownik(ów) przegląda ten temat (1 gości)
(żadnych zarejestrowanych użytkowników)

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0823 sek. (zapytań SQL: 10)