开发者

gettext() null pointer exception

开发者 https://www.devze.com 2023-01-10 06:06 出处:网络
Consider the following code public class sqldetails extends JFrame implements ActionListener{ static String username=null;

Consider the following code

public class sqldetails extends JFrame implements ActionListener{

static String username=null;
static String password=null;
JButton button;
JTextField utext,ptext;

public static void main(String[] args){
new sqldetails();
}

sqldetails() {
    this.setTitle("Sql details");
    JPanel panel=new JPanel();
    panel.setLayout(new GridBagLayout());

    JLabel ulabel=new JLabel("Enter your Sql username");
    panel.add(ulabel);
    addItem(panel,ulabel,0,0,1,1,GridBagConstraints.WEST);

    JTextField utext=new JTextField(9);
    panel.add(utext);
    addItem(panel,utext,1,0,1,1,GridBagConstraints.WEST);

    JLabel plabel=new JLabel("Enter your Sql password");
    panel.add(plabel);
    a开发者_StackOverflowddItem(panel,plabel,0,1,1,1,GridBagConstraints.WEST);

    JTextField ptext=new JTextField(9);
    panel.add(ptext);
    addItem(panel,ptext,1,1,1,1,GridBagConstraints.WEST);

    button =new JButton("enter");
    button.addActionListener(this);
    panel.add(button);
    addItem(panel,button,0,2,1,1,GridBagConstraints.CENTER);
    this.add(panel);
    this.pack();
    this.setVisible(true);
}

private void addItem(JPanel panel, JComponent c, int i, int j,
        int k, int l, int align) {
    GridBagConstraints calc=new GridBagConstraints();
    calc.gridx=i;
    calc.gridy=j;
    calc.gridwidth=k;
    calc.gridheight=l;
    calc.weightx=100.0;
    calc.weighty=100.0;
    calc.insets=new Insets(5,5,5,5);
    calc.anchor=align;
    calc.fill=GridBagConstraints.NONE;
    panel.add(c,calc);      

}


public void actionPerformed(ActionEvent arg0) {
    if(arg0.getSource()==button){
        username +=utext.getText();
        utext.setText(null);
        password +=ptext.getText();
        ptext.setText(null);
        new sqlconnection();
        new gui();
        new first();
    }
}

However wen i compile it, i get java.lang.NullPointerException in the gettext() line. Help would be appreciated :)


Thats because variables utext and ptext inside constructor sqldetails() shadow the instance variables of the same name

sqldetails() {
    .....

    // JTextField utext=new JTextField(9); //====> shadows the instance variable utext
    this.utext=new JTextField(9); // This is the correct use
    panel.add(utext);
    addItem(panel,utext,1,0,1,1,GridBagConstraints.WEST);

    .......

    // JTextField ptext=new JTextField(9); //=====> shadows the instance variable ptext
    this.ptext = new JtextField();  // This is the correct use

    .......
}
0

精彩评论

暂无评论...
验证码 换一张
取 消