java - Importing text into a JTable is not displaying -


i have created program can input data in jtextfield , on hitting save button use jfilechooser save data in .txt file each jtextfield in new line. created button pops jfilechooser browse file , populate corresponding cells.

i new guis, code wrote not working. tried different variations , cannot seem it. can point me in right direction please.

the input is

 john doe st. jude 100 

here code

import javax.swing.*; import javax.swing.filechooser.filenameextensionfilter; import javax.swing.table.defaulttablemodel;  import java.util.scanner import java.util.vector; import java.awt.event.*; import java.awt.*; import java.text.decimalformat; import java.io.*;  //import javax.swing.filechooser; import javax.swing.filechooser.filefilter;  public class charity  { @suppresswarnings("deprecation") public static void main(string[] args)  {     jframe frame = new jframe("learning team charity program");     container cp = frame.getcontentpane();     frame.setdefaultcloseoperation(jframe.exit_on_close);      // charities     final string[] charityarray = {"st.jude", "choc", "cancer research", "aids foundation", "crohns foundation"};     final jcombobox selector = new jcombobox(charityarray);     jpanel first = new jpanel();     first.setlayout(new flowlayout());     first.add(selector);      // user input jlabels , jtextfields     jlabel namelabel = new jlabel("first name: ");     final jtextfield name = new jtextfield();     jlabel lastlabel = new jlabel("last name: ");     final jtextfield lastname = new jtextfield();     jlabel donationamount = new jlabel("donation amount: ");     final jtextfield donation = new jtextfield();       jpanel second = new jpanel();     second.setlayout(new gridlayout(4,2));     second.add(namelabel); second.add(name);     second.add(lastlabel); second.add(lastname);     second.add(donationamount); second.add(donation);       // donate & exit buttons     jbutton donatebutton = new jbutton("donate");     jbutton savebutton = new jbutton("save");     jbutton exitbutton = new jbutton("exit");     jbutton openbutton=  new jbutton("open file");     jpanel third = new jpanel();     third.setlayout(new flowlayout());     third.add(donatebutton);     third.add(savebutton);     third.add(openbutton);     third.add(exitbutton);      // jtable display     final defaulttablemodel model = new defaulttablemodel();     jtable table = new jtable(model);     model.addcolumn("first name");     model.addcolumn("last name");     model.addcolumn("charity");     model.addcolumn("donation");      table.setshowhorizontallines(true);     table.setrowselectionallowed(true);     table.setcolumnselectionallowed(true);           jscrollpane scrollpane = jtable.createscrollpanefortable(table);      jpanel fourth = new jpanel();     fourth.setlayout(new borderlayout());     fourth.add(scrollpane, borderlayout.center);      // button events     exitbutton.addactionlistener(new actionlistener()      {         public void actionperformed(actionevent e)          {             system.exit(1);          }     });      openbutton.addactionlistener(new actionlistener()     {     public void actionperformed(actionevent e){     jfilechooser openchooser = new jfilechooser();     int openstatus = openchooser.showopendialog(null);     if(openstatus == jfilechooser.approve_option){         try{             file myfile = openchooser.getselectedfile();             bufferedreader br = new bufferedreader(new filereader(myfile));              string line;                 while((line = br.readline())!= null){                              model.addrow(line.split(","));                                 }//end while                       br.close();                 }//end try                  catch(exception e2){                      joptionpane.showmessagedialog(null, "buffer reader error");                 }//end catch             }         }           private void setvalueat(string line, int row, int col) {             // todo auto-generated method stub          }      });      savebutton.addactionlistener(new actionlistener()     {         public void actionperformed(actionevent e){             jfilechooser filechooser = new jfilechooser();             int status = filechooser.showsavedialog(null);             if (status == jfilechooser.approve_option)             {                 filechooser.addchoosablefilefilter(new filenameextensionfilter("text", ".txt", "txt"));                 //filechooser.setfilefilter(new filefilter("txt"));                 printwriter output;                 try {                     file file = filechooser.getselectedfile();                     output = new printwriter(file +".txt");                     for(int row = 0; row<table.getrowcount(); row++){                         for(int col = 0; col<table.getcolumncount();col++){                             output.println(table.getvalueat(row, col).tostring());                          }                         output.println();                     }                      output.close();                  } catch (ioexception e1) {                     e1.printstacktrace();                 }              }         }  });     donatebutton.addactionlistener(new actionlistener()      {         public void actionperformed(actionevent e)          {              decimalformat df = new decimalformat("##,###.00");             try              {                  object[] rows = new object[]{name.gettext(), lastname.gettext(), selector.getselecteditem(),                     donation.gettext()};                     model.addrow(rows);                     name.settext("");                     lastname.settext("");                     donation.settext("");             }              catch (exception ex)              {                 joptionpane.showmessagedialog(null, "enter dollar amount", "alert", joptionpane.error_message);                 return;             }         }     });      // frame settings     frame.setsize(470,300);     //frame.setlocation(300,200);     cp.setlayout(new boxlayout(cp, boxlayout.y_axis));     cp.add(first);     cp.add(second);     cp.add(third);     cp.add(fourth);     frame.setvisible(true);      }    } 

i understand have pass value in parenthesis after addrow.

people don't know means because code posted here doesn't have addrow(...) method.

i see posted second question 2 hours later: https://stackoverflow.com/questions/30951407/how-to-properly-read-a-txt-file-into-a-a-row-of-a-jtable.

keep comments in 1 place people understand going on.

also, posting few random lines of code doesn't because don't know context of how code used. example, have no idea how created "model" variable. don't know if ever added model table.

post proper sscce when posting question have necessary information. file chooser irrelevant problem because don't have access real file. instead need post hard coded data. easy way use stringreader.

here working example shows how read/parse/load file jtable:

import java.awt.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; import java.io.*;  public class sscce extends jpanel {     public sscce()     {         try         {             defaulttablemodel model = new defaulttablemodel(0, 4);              string data = "1 2 3 4\na b c d\none 2 3 four";             bufferedreader br = new bufferedreader( new stringreader( data ) );             string line;              while ((line = br.readline()) != null)             {                 string[] split = line.split(" ");                 model.addrow( split );             }              jtable table = new jtable(model);             add( new jscrollpane(table) );         }         catch (ioexception e) { system.out.println(e); }     }      private static void createandshowgui()     {         jframe frame = new jframe("sscce");         frame.setdefaultcloseoperation(jframe.exit_on_close);         frame.add(new sscce());         frame.setlocationbyplatform( true );         frame.pack();         frame.setvisible( true );     }      public static void main(string[] args)     {         eventqueue.invokelater(new runnable()         {             public void run()             {                 createandshowgui();             }         });     } } 

all need change code use filereader instead of stringreader.


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -