java - java中的工具包类

标签 java exception

我正在尝试用 Java 为 JButton 创建自定义光标。 所以我使用 Toolkit 类。 但是 Toolkit 方法不知何故无法加载我的图像。这是我的代码:

public class ButtonPerso extends JButton{

 private Toolkit toolkit; 

 private Cursor myCursor; 

 private Point hotSpot;

 private Image image;

 public ButtonPerso(String label) {

  super(label);

  Toolkit.getDefaultToolkit();

  image = toolkit.createImage("candle.gif" );

  hotSpot = new Point(0, 0);  

  //myCursor = toolkit.createCustomCursor(image, hotSpot, "Candle");
  myCursor = toolkit.createCustomCursor(image, hotSpot, "Candle");

  addMouseListener(new MouseAdapter() {
    public void mouseEntered(MouseEvent e) {
      //setCursor (Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
      setCursor(myCursor);
    }
      }
  );

 }
}

每次我收到此错误时:

 Exception in thread "main" java.lang.NullPointerException
    at GUI.ButtonPerso.<init>(ButtonPerso.java:36)
    at GUI.Menu.<init>(Menu.java:61)
    at GUI.Fenetre.<init>(Fenetre.java:18)
    at Main.main(Main.java:34)

所以我猜想这些异常发生了一些事情:IndexOutOfBoundsException,HeadlessException。我试图找到问题:

try {
  myCursor = toolkit.createCustomCursor(Menu.image, hotSpot, "Candle");
  }
  catch (HeadlessException h) {

  }

  catch (IndexOutOfBoundsException i) {
    System.out.println("index except");
  }

但我仍然收到同样的警告,我不知道该怎么办,你能帮我吗?也许它来 self 的形象

最佳答案

而不是这一行:

Toolkit.getDefaultToolkit();

你需要写:

toolkit = Toolkit.getDefaultToolkit();

否则,toolkit 将保持 null,并且当您尝试调用其方法时,您将收到 NullPointerException

关于java - java中的工具包类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856723/

相关文章:

java - 如何从 main 方法启动 Vertx 3 Verticle?

java - 面试问题 - 如何处理基于 SOAP 和基于 REST 的异常

python - 如何找出我未处理的异常是什么

java - 运行 junit 测试时出现 ZipException

exception - NoSuchMethodError HTableDescriptor.addFamily

c# - 递归的stackoverflow

java - 编写一个程序来计算两个数的余数,而不使用 % 运算符?在 java

java - 在 Hibernate 中创建查询

java - OCR:如何本地化序列号图像中的字符?

java - "Rethrow"到下一个 catch 子句