I got an exception while using JProgressBar to load some datas and updating the gui when clicking a JButton but it's not always throwing the exception instead when clicking the button for next time it show up no error no glitch but it's still throwing sometimes.I'm confused don't know what to set the title name
This is the Exception i got
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.basic.BasicProgressBarUI.updateSizes(BasicProgressBarUI.java:488)
at javax.swing.plaf.basic.BasicProgressBarUI.getBox(BasicProgressBarUI.java:445)
at javax.swing.plaf.basic.BasicProgressBarUI.paintIndeterminate(BasicProgressBarUI.java:600)
at javax.swing.plaf.metal.MetalProgressBarUI.paintIndeterminate(MetalProgressBarUI.java:143)
at javax.swing.plaf.basic.BasicProgressBarUI.paint(BasicProgressBarUI.java:410)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
at javax.swing.JComponent.paintComponent(JComponent.java:780)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent.paint(JComponent.java:1042)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1978)
at java.awt.Window.paint(Window.java:3906)
at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at java.awt.Component.show(Component.java:1671)
at java.awt.Component.setVisible(Component.java:1623)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at school_software.Home.openWindow(Home.java:1635)
at school_software.Home.studentManagementMousePressed(Home.java:1494)
at school_software.Home.access$1100(Home.java:51)
at school_software.Home$4.mousePressed(Home.java:411)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
This is the Code I'm using JProgressBar
//Constructor I'm calling this from another JFrame
public studentManagementDailog1(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
filePath.setVisible(false);
worker = new LoadWorker();
worker.execute();
tableCustomization.customizedJTable(studentListsTable);
tableCustomization.customizedJTableWithScrollPane(detailTable, jScrollPane6);
tableCustomization.setCustomTableWidth(detailTable, 200);
}
//
private class LoadWorker extends SwingWorker<Boolean, Object[]> {
@Override
protected void done() {
try {
if (get() != null) {
lblInfo.setText("Total data: " + studentListsTable.getRowCount());
pgbMain.setIndeterminate(false);
pgbMain.setVisible(false);
}
} catch (InterruptedException | ExecutionException ex) {
Logger.getLogger(classroomManagementDailog.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
protected Boolean doInBackground() throws SQLException, InterruptedException, ClassNotFoundException, Exception {
pgbMain.setIndeterminate(true);
lblInfo.setText("Fetching data. . .");
MysqlData mysqlData = MysqlData.getInstance();
mysqlData.connectiontoServer();
removeAllRow(studentListsTable);
mysqlData.readData("select * from students order by classroom,rollno,section");
ResultSet rs = mysqlData.getdata();
if (rs.isBeforeFirst()) { // check is resultset not empty
while (rs.next()) {
Object data[] = {
rs.getInt("s_id"),
rs.getString("fullname"),
rs.getString("temporaryaddress"),
rs.getLong("phoneno"),
rs.getString("gender"),
rs.getInt("classroom"),
rs.getString("section"),
rs.getInt("rollno")
};
publish(data);
}
} else {
lblInfo.setText("Data not found!");
}
jocHyperlink1.setEnabled(false);
studentDetailByTable(detailTable, "select * from students");
loadClassroom();
loadSection();
//Closing & Flushing the connection
rs.close();
Thread.sleep(1000);
return true;
}
@Override
protected void process(java.util.List<Object[]> chunks) {
DefaultTableModel tableModel = (DefaultTableModel) studentListsTable.getModel();
for (int i = 0; i < chunks.size(); i++) {
Object[] data = chunks.get(i);
tableModel.addRow(data);
}
}
}