“错误或错误” java.lang.NullPointerException

安东尼奥·冈萨雷斯(Antonio Gonzalez)占位符图像

我试图像往常一样创建我的JFrame,但我不知道为什么它会引发java.lang.NullpointerException。

我读到这是因为您没有分配值,或者不能将null用作值,但是我几乎可以肯定我的代码编写正确。

这里是:

import javax.swing.*;

public class Mathme extends JFrame {
    JFrame home;      
    JLabel title; 

    public Mathme(){
        home.setResizable(false);           !!!13!!!!   
        home.setLocationRelativeTo(null);            
        home.setVisible(true);
        home.setDefaultCloseOperation(EXIT_ON_CLOSE);
        home.setSize(600,500);
        home.setTitle("Pruebax1");
    }    

    public static void main(String[] args) {
        Mathme c = new Mathme(); !!!!23!!!
    }
}

它恰好抛出了这个:

***Exception in thread "main" java.lang.NullPointerException
    at mathme.Mathme.<init>(Mathme.java:13)
    at mathme.Mathme.main(Mathme.java:23)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)***

我将在此放置所引用的行号。

充满鳗鱼的气垫船

您永远不会将home变量初始化为任何对象,因此,如果您尝试从其调用方法,则将看到一个NPE是有意义的。

IE,

// this declares a variable but doesn't assign anything to it
JFrame home;  // home is not assigned and is currently null

并不是

// this both declares a variable and assigns an object reference to it.
JFrame home = new JFrame();

另外,为什么要让类扩展JFrame,然后尝试在该类中创建另一个类呢?

关于“美丽的”代码-您将要学习Java的代码格式化规则。您不应该随机缩进代码,而应该将单个块中的所有代码缩进相同的数量。

关于:

我读到这是因为您没有分配值,或者不能将null用作值,但是WTF,我的意思是说我几乎可以确定我的代码编写正确。

这意味着您还不了解“赋值”与声明变量(参见上文)不同,并且在Java入门的大多数简介的第一页中都对此进行了很好的解释。请注意,Swing GUI编程是Java编程的相当高级的分支,并且在进入GUI编程之前先阅读一些基本的教程可能会更好。


这将是创建类似于您尝试创建的GUI的另一种方式:

import java.awt.Dimension;
import javax.swing.*;

@SuppressWarnings("serial")
public class MathmePanel  extends JPanel {
   private static final int PREF_W = 600;
   private static final int PREF_H = 500;

   public MathmePanel() {
      // create my GUI here
   }

   // set size in a flexible and safe way
   @Override
   public Dimension getPreferredSize() {
      Dimension superSize = super.getPreferredSize();
      if (isPreferredSizeSet()) {
         return superSize;
      }
      int prefW = Math.max(PREF_W, superSize.width);
      int prefH = Math.max(PREF_H, superSize.height);
      return new Dimension(prefW, prefH);
   }

   private static void createAndShowGui() {
      MathmePanel mainPanel = new MathmePanel();

      // create JFrame rather than override it
      JFrame frame = new JFrame("Pruebax1");
      frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
      frame.getContentPane().add(mainPanel);
      frame.pack();
      frame.setLocationByPlatform(true);
      frame.setVisible(true);
   }

   public static void main(String[] args) {
      // Start Swing GUI in a safe way on the Swing event thread
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            createAndShowGui();
         }
      });
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

java.lang.NullPointerException(无错误消息)

来自分类Dev

java.util.concurrent.ExecutionException:java.lang.NullPointerException错误

来自分类Dev

错误:模块“名称”生产:java.lang.NullPointerException

来自分类Dev

片段开始时出现java.lang.NullPointerException错误

来自分类Dev

java.lang.NullPointerException错误已缓冲

来自分类Dev

“线程“主”中的异常java.Lang.NullPointerException”错误

来自分类Dev

REST Servlet的春季注入-java.lang.NullPointerException错误

来自分类Dev

错误:java.lang.NullPointerException等,来源不明

来自分类Dev

从数组访问方法时发生java.lang.NullPointerException错误

来自分类Dev

java.lang.NullPointerException错误

来自分类Dev

java.lang.NullPointerException错误?

来自分类Dev

错误输出为java.lang.NullPointerException

来自分类Dev

Java.lang.NullPointerException错误。检查空对象

来自分类Dev

java.lang.nullpointerexception错误

来自分类Dev

Eclipse:错误java.lang.NullPointerException

来自分类Dev

请帮我调试错误:java.lang.NullPointerException

来自分类Dev

Eclipse错误:java.lang.NullPointerException

来自分类Dev

无法弄清楚java.lang.NullPointerException错误

来自分类Dev

错误:“无法启动活动ComponentInfo ... Java.lang.NullPointerException”

来自分类Dev

错误:线程“主”中的异常java.lang.NullPointerException

来自分类Dev

PayPal-Javascript-REST-错误:java.lang.NullPointerException

来自分类Dev

记录音频和java.lang.NullPointerException错误

来自分类Dev

调用类方法时发生错误java.lang.NullPointerException

来自分类Dev

错误java.lang.NullPointerException JSF

来自分类Dev

java.lang.NullPointerException错误

来自分类Dev

如何在Java中调试java.lang.NullPointerException错误?

来自分类Dev

片段开始时出现java.lang.NullPointerException错误

来自分类Dev

Retrofit onResponse 上的 java.lang.NullPointerException 错误

来自分类Dev

“java.lang.NullPointerException”错误(错误详情,文章中有)我该如何解决?

Related 相关文章

  1. 1

    java.lang.NullPointerException(无错误消息)

  2. 2

    java.util.concurrent.ExecutionException:java.lang.NullPointerException错误

  3. 3

    错误:模块“名称”生产:java.lang.NullPointerException

  4. 4

    片段开始时出现java.lang.NullPointerException错误

  5. 5

    java.lang.NullPointerException错误已缓冲

  6. 6

    “线程“主”中的异常java.Lang.NullPointerException”错误

  7. 7

    REST Servlet的春季注入-java.lang.NullPointerException错误

  8. 8

    错误:java.lang.NullPointerException等,来源不明

  9. 9

    从数组访问方法时发生java.lang.NullPointerException错误

  10. 10

    java.lang.NullPointerException错误

  11. 11

    java.lang.NullPointerException错误?

  12. 12

    错误输出为java.lang.NullPointerException

  13. 13

    Java.lang.NullPointerException错误。检查空对象

  14. 14

    java.lang.nullpointerexception错误

  15. 15

    Eclipse:错误java.lang.NullPointerException

  16. 16

    请帮我调试错误:java.lang.NullPointerException

  17. 17

    Eclipse错误:java.lang.NullPointerException

  18. 18

    无法弄清楚java.lang.NullPointerException错误

  19. 19

    错误:“无法启动活动ComponentInfo ... Java.lang.NullPointerException”

  20. 20

    错误:线程“主”中的异常java.lang.NullPointerException

  21. 21

    PayPal-Javascript-REST-错误:java.lang.NullPointerException

  22. 22

    记录音频和java.lang.NullPointerException错误

  23. 23

    调用类方法时发生错误java.lang.NullPointerException

  24. 24

    错误java.lang.NullPointerException JSF

  25. 25

    java.lang.NullPointerException错误

  26. 26

    如何在Java中调试java.lang.NullPointerException错误?

  27. 27

    片段开始时出现java.lang.NullPointerException错误

  28. 28

    Retrofit onResponse 上的 java.lang.NullPointerException 错误

  29. 29

    “java.lang.NullPointerException”错误(错误详情,文章中有)我该如何解决?

热门标签

归档