这是一个连接2个jComboBoxes,2个jXDatePickers和一个jLabel的方法。
public void updateJLabel(){
Double wres=0.0;
String FinalWres;
int FinalWresint;
boolean help=false;
double idprovider2 = Double.parseDouble((String)jComboBox2.getSelectedItem());
double idprovider4 = Double.parseDouble((String)jComboBox4.getSelectedItem());
wres=idprovider4 - idprovider2 ;
if (idprovider4%1==0 && idprovider2%1==0){
FinalWres=" ώρες";
FinalWresint=wres.intValue();
}
else if((idprovider4%1==0 && idprovider2%1!=0) || (idprovider4%1!=0 && idprovider2%1==0)){
FinalWres=" ώρες και 30 λεπτά";
FinalWresint=wres.intValue();
help=true;
}
else {
if (wres.intValue()<wres){
FinalWres=" ώρες";
FinalWresint=wres.intValue()+1;
}
else{
FinalWres=wres.intValue()+" ώρες";
FinalWresint=wres.intValue();
}
}
if (jXDatePicker1.getDate().getDay()!= jXDatePicker2.getDate().getDay()){
if (help==true){
FinalWresint=23+FinalWresint;
jLabel3.setText(FinalWresint+FinalWres);
}
else{
FinalWresint=24+FinalWresint;
jLabel3.setText(FinalWresint+FinalWres);
}
}
else
jLabel3.setText(FinalWresint+FinalWres);
}
它工作正常,但是当我运行程序并从jDatePicker中选择一个日期时,我收到以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
以下是完整版:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at NewJFrame.updateJLabel(NewJFrame.java:317)
at NewJFrame.jXDatePicker1ActionPerformed(NewJFrame.java:370)
at NewJFrame.access$100(NewJFrame.java:23)
at NewJFrame$2.actionPerformed(NewJFrame.java:127)
at org.jdesktop.swingx.JXDatePicker.fireActionPerformed(JXDatePicker.java:911)
at org.jdesktop.swingx.JXDatePicker.commitEdit(JXDatePicker.java:740)
at org.jdesktop.swingx.plaf.basic.BasicDatePickerUI.commit(BasicDatePickerUI.java:914)
at org.jdesktop.swingx.plaf.basic.BasicDatePickerUI$Handler.monthViewActionPerformed(BasicDatePickerUI.java:1504)
at org.jdesktop.swingx.plaf.basic.BasicDatePickerUI$Handler.actionPerformed(BasicDatePickerUI.java:1479)
at org.jdesktop.swingx.JXMonthView.fireActionPerformed(JXMonthView.java:1845)
at org.jdesktop.swingx.JXMonthView.commitSelection(JXMonthView.java:1732)
at org.jdesktop.swingx.plaf.basic.BasicMonthViewUI$Handler.mouseReleased(BasicMonthViewUI.java:1753)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
以下是生成该错误的行
if (jXDatePicker1.getDate().getDay()!= jXDatePicker2.getDate().getDay()){
欢迎任何帮助,谢谢!