NullPointException जब मैं बटन का उपयोग कर j2me पर रूपों को नेविगेट करने का प्रयास करता हूं

मुझे मुख्य पृष्ठ को किसी बटन के क्लिक से दूसरे पृष्ठ से जोड़ने में समस्या हो रही है। यह एक NullPointException फेंकता है। क्या कोई मुझे बता सकता है कि मैंने कहां मिटा दिया है?

import java.io.InputStream;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.*;
import com.sun.lwuit.*;
import com.sun.lwuit.animations.CommonTransitions;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.layouts.BoxLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import java.io.IOException;

public class standings extends MIDlet implements ActionListener{

   public Command cmdSelect; 
   public Form fform, selectLgform;
   public Button btnSelectLeague,btnHelp,btnAbout,btnExit;
   public TextArea taHome,taAbout, taHelp, taSelectLg;
    private InputStream iStream;
    private StringBuffer strBuffer;
    private Form selectLgForm;
    public void startApp() {
        Display.init(this);
        try {
            Resources rs= Resources.open("/restheme.res");
            UIManager.getInstance().setThemeProps(rs.getTheme("Theme2"));
        } catch (Exception e) {
            e.getMessage();
        }
       displayMainForm();
    }

  public void displayMainForm()
  {
   fform = new Form("Football League Standings");
   taHome= new TextArea(5,20,TextArea.ANY);
   fform.setLayout(new BorderLayout());
   fform.setTransitionInAnimator(CommonTransitions.createFade(1000));
   iStream     = getClass().getResourceAsStream("/intro.txt");
   strBuffer   = new StringBuffer();
        int next    = 1;
        try {
            while((next = iStream.read()) != -1) {
                char nextChar = (char) next;
                strBuffer.append(nextChar);
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        taHome.setText(strBuffer.toString());
        strBuffer   = null;
        taHome.setFocusable(false);
        taHome.setEditable(false);
        taHome.setUIID("Label");

        //fform.addComponent(BorderLayout.CENTER,taHome);

        btnSelectLeague= (new Button("Select league"));
        btnHelp= (new Button("Help"));
        btnAbout= (new Button("About"));
        btnExit= (new Button("Exit"));

    Container mcont = new Container(new BoxLayout(BoxLayout.Y_AXIS));
      mcont.addComponent(taHome);
      mcont.addComponent(btnSelectLeague);
      mcont.addComponent(btnHelp);
      mcont.addComponent(btnAbout);
      mcont.addComponent(btnExit);
      fform.addComponent(BorderLayout.CENTER, mcont);
      btnSelectLeague.addActionListener(this);
      btnHelp.addActionListener(this);
      btnAbout.addActionListener(this);
      btnExit.addActionListener(this);

   fform.show();
  }

  /* Command exitCommand = new Command("Exit");
   fform.addCommand(exitCommand);

   fform.addCommandListener(this);
    }
  }*/
   public void selectLgForm()
    {
        selectLgForm= new Form("Select League");
        taSelectLg= new TextArea(5,20,TextArea.ANY);
        selectLgForm.setLayout(new BorderLayout());
        selectLgForm.setTransitionInAnimator(CommonTransitions.createFade(1000));
        iStream     = getClass().getResourceAsStream("/selectlg.txt");
        strBuffer   = new StringBuffer();
        int next    = 1;
        try {
            while((next = iStream.read()) != -1) {
                char nextChar = (char) next;
                strBuffer.append(nextChar);
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        taSelectLg.setText(strBuffer.toString());
        strBuffer   = null;
        taSelectLg.setFocusable(false);
        taSelectLg.setEditable(false);
        taSelectLg.setUIID("Label");

        selectLgForm.addComponent(BorderLayout.CENTER,taAbout);

    //START OF MENU BUTTONS
        selectLgForm.addCommand(new Command("Back")
        {
            public void actionPerformed(ActionEvent e)
            {
                displayMainForm();
            }


        });


        selectLgForm.show();
    }//END OF MENU BUTTONS


    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

  public void actionPerformed(ActionEvent ae) {
       if(ae.getSource()==btnSelectLeague){
            selectLgForm();
        }
2
जोड़ा संपादित
विचारों: 1
इस सामग्री के लिए संसाधन संपादक का उपयोग करने का प्रयास करें। मैं जे 2 एमई में नया कोडिंग कर रहा हूं, यह इससे आसान होगा।
जोड़ा लेखक Mun0n, स्रोत
1) जल्द से जल्द बेहतर सहायता के लिए, एक SSCCE पोस्ट करें। 2) कृपया कोड ब्लॉक के लिए एक सतत और तार्किक इंडेंट का उपयोग करें और 'व्हाइट-स्पेस' लाइनों को एक समय में 1 से अधिक तक सीमित करें। 3) @mprabhat को +1 - कोड को देखकर कोई भी समस्या को समझने का कोई मौका नहीं है।
जोड़ा लेखक Andrew Thompson, स्रोत
कौन सा बटन क्लिक आपको यह अपवाद दे रहा है? और क्या आप स्टैकट्रैक पोस्ट कर सकते हैं
जोड़ा लेखक mprabhat, स्रोत
अपवाद स्टैक ट्रेस पोस्ट करें
जोड़ा लेखक gnat, स्रोत

1 उत्तर

मेरे सबसे अच्छे अनुमान हैं:
- selectLgForm.addComponent (BorderLayout.CENTER, taAbout) एक NullPointerException फेंकता है क्योंकि taAbout शून्य है।
- या iStream = getClass ()। getResourceAsStream ("/ selectlg.txt"); एक NullPointerException फेंकता है क्योंकि टेक्स्ट फ़ाइल वह जगह नहीं है जहां आप सोचते हैं।

4
जोड़ा