带有JDatePicker的NullPointerException

马丁

我正在尝试用日期选择器字段替换JTextField,我遵循了能够找到的安装说明以及SO上的其他示例。另外,我有最新版本(V1.3.4) - https://sourceforge.net/projects/jdatepicker/

//...
import org.jdatepicker.impl.JDatePanelImpl;
import org.jdatepicker.impl.JDatePickerImpl;
import org.jdatepicker.impl.UtilDateModel;

public class NewTransactionDialog extends JDialog {

    private JPanel panel = new JPanel(new GridLayout(0, 1));

    //...

    public NewTransactionDialog() {

        //...

        // date 
        panel.add(new JLabel("Date:"));
//        panel.add(new JTextField()); // old text field i want to replace
        UtilDateModel model = new UtilDateModel();
        JDatePanelImpl datePanel = new JDatePanelImpl(model, null);
        JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, null);
        panel.add(datePicker);

        //...

        getContentPane().add(panel);
        pack();
    }
}

抱歉,这只是一些愚蠢的错误,但我看不到我这次做错了什么。我确实必须添加第二个NULL参数,因为Eclipse告诉我构造函数不匹配。这似乎与我说的每个示例都不同,后者仅将一个参数传递给构造函数(JDatePanelImpl,JDatePickerImpl)-这些参数应该以非NULL的形式传递吗?

在Eclipse控制台中引发的错误是:7

Exception in thread "main" java.lang.NullPointerException
    at org.jdatepicker.impl.JDatePanelImpl$InternalView.getPreviousMonthButton(JDatePanelImpl.java:517)
    at org.jdatepicker.impl.JDatePanelImpl$InternalView.getPreviousButtonPanel(JDatePanelImpl.java:442)
    at org.jdatepicker.impl.JDatePanelImpl$InternalView.getNorthPanel(JDatePanelImpl.java:251)
    at org.jdatepicker.impl.JDatePanelImpl$InternalView.initialise(JDatePanelImpl.java:234)
    at org.jdatepicker.impl.JDatePanelImpl$InternalView.<init>(JDatePanelImpl.java:222)
    at org.jdatepicker.impl.JDatePanelImpl.<init>(JDatePanelImpl.java:110)
    at biz.martyn.budget.NewTransactionDialog.<init>(NewTransactionDialog.java:54)
    at biz.martyn.budget.TransactionsToolbar.<init>(TransactionsToolbar.java:34)
    at biz.martyn.budget.Budget.main(Budget.java:39)
xetra11
at org.jdatepicker.impl.JDatePanelImpl$InternalView.getPreviousMonthButton(JDatePanelImpl.java:517)

那就是他失败的地方。有一个方法调用this.i18nStrings.getProperty("text.month")

但要初始化JDatePanelImplnull该字段:

  panel.add(new JLabel("Date:"));
  UtilDateModel model = new UtilDateModel();
  JDatePanelImpl datePanel = new JDatePanelImpl(model, null); // <<<<
  JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, null); 
  panel.add(datePicker, BorderLayout.CENTER);

那就是典型的NullPointerException原因

CTOR签名说:public JDatePanelImpl(DateModel<?> model, Properties i18nStrings)所以它等待一个Properties对象。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有ArrayList的NullPointerException-应该不可能吗?

Android TextView NullPointerException,带有onTouchListener和onClickListener于4.0

带有休眠和获取类型LAZY的奇怪NullPointerException

变量定义中带有findViewById的NullPointerException

带有Retrofit的RxJava JUnit测试抛出NullPointerException

带有静态变量的NullPointerException

输入为double时,带有HashMap <Integer,Double>的NullPointerException

带有NullPointerException的新onClickListener(Android)

带有removeEldestEntry的Java LinkedHashMap导致java.lang.NullPointerException

Windows中带有MR2的NullPointerException

带有EditText的java.lang.NullPointerException

带有Fragment和ViewPager的NullPointerException

NullPointerException,带有Java中的银行帐户

带有Android片段的java.lang.NullPointerException

带有Set <String> size()== 0的NullPointerException

在机智的结尾处带有NullPointerException

长按带有SpannableString的TextView时发生NullPointerException

带有key =“#id”的@CacheEvict引发NullPointerException

带有NullPointerException的列表

带有 Firebase 的 Android - 尝试填充列表时出现 NullPointerException

带有截断堆栈跟踪的 Java NullPointerException

带有数据的 Android 片段 onCallBack 时的 NullPointerException

带有@Cacheable 的 Spring Data Redis NullPointerException

带有 HikariCP 的 NullPointerException

带有 dos.write 的 NullPointerException

带有 checkSelfPermission 的 NullPointerException - 我找对地方了吗?

在 Main 类中带有 @Autowiered 的 NullPointerException

带有模拟对象的 Java NullPointerException

带有 @Autowired 存储库的 SpringBootApp NullPointerException