I got a swing table that I added from JFrame class design section.There are 5 columns and 6 rows that holding peoples names and their ages and birth dates.I want to save this data whenever I close program and get them when I open my program again and I have no idea. I tried some codes here for table:
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
},
new String [] {
"İSİM", "NO", "İZİN NEDENİ", "İZİNE ÇIKIŞ TARİHİ", "İZİN GÜNÜ", "İZİN BİTİŞ TARİHİ", "KALAN izin hakkı"
}
and this how i try to save
public void toExcel(JTable jTable1, File file)
{
try{
TableModel model;
model = jTable1.getModel();
try (FileWriter excel = new FileWriter(file)) {
for(int k = 0; k < model.getColumnCount(); k++){
excel.write(model.getColumnName(k) + "\t");
}
excel.write("\n");
for(int l=0; l< model.getRowCount(); l++) {
for(int j=0; j < model.getColumnCount(); j++) {
excel.write(model.getValueAt(l,j).toString()+"\t");
}
excel.write("\n");
}
}
}catch(IOException e){ System.out.println(e); }
}
and i got also a button for do call that
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser fc = new JFileChooser();
int option = fc.showSaveDialog(NewJFrame1.this);
if(option == JFileChooser.APPROVE_OPTION){
String filename = fc.getSelectedFile().getName();
String path = fc.getSelectedFile().getParentFile().getPath();
int len = filename.length();
String ext = "";
String file = "";
if(len > 4){
ext = filename.substring(len-4, len);
}
if(ext.equals(".xls")){
file = path + "\\" + filename;
}else{
file = path + "\\" + filename + ".xls";
}
toExcel(jTable1, new File(file));
} // TODO add your handling code here:
}
i get a error like that:
xception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javaapplication7.NewJFrame1.toExcel(NewJFrame1.java:38) at javaapplication7.NewJFrame1.jButton2ActionPerformed(NewJFrame1.java:453) at javaapplication7.NewJFrame1.access$400(NewJFrame1.java:11) at javaapplication7.NewJFrame1$5.actionPerformed(NewJFrame1.java:278) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2739) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746) at java.awt.EventQueue.access$400(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:697) at java.awt.EventQueue$3.run(EventQueue.java:691) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:719) at java.awt.EventQueue$4.run(EventQueue.java:717) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:716) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 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)