Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

import text file to JTable by using JFilechooser

AmrutaSriramDec 31 2018 — edited Dec 31 2018

If Anyone Knows , can you please help me how to import the text file to JTable by using JFilechooser ?

Even the text file contains the specific charecters line length

eg: idUsernamePasswordEmailAgeGender ( ID = 2 Chars, Username = 10 chars ( if username not having 10 chars means, it include space for that, password = 5 chars, email = 5 chars, Age = 2 chars, Gender = 1 chars)

01Amruta 12345email24F

Here is my code :

i am not getting error .

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.SwingUtilities;

import javax.swing.table.DefaultTableModel;

public class TestTable5 {

public TestTable5() {

   String\[\] defaultCols = {"Id", "Username", "Password", "email","Name","Age","Gender"};

   DefaultTableModel model = new DefaultTableModel(defaultCols, 0);

   JTable table = new JTable(model);

   JButton button = createButton(table);

   JFrame frame = new JFrame();

   frame.setDefaultCloseOperation(JFrame.EXIT\_ON\_CLOSE);

   frame.add( new JScrollPane(table));

   frame.add(button, BorderLayout.SOUTH);

   frame.pack();

   frame.setLocationByPlatform(true);

   frame.setVisible(true);

}

private JButton createButton(final JTable table) {

   JButton button = new JButton("Get File");

   button.addActionListener(new ActionListener() {

       public void actionPerformed(ActionEvent e) {

           JFileChooser chooser = new JFileChooser();

           int result = chooser.showOpenDialog(table);

           if (result == JFileChooser.APPROVE\_OPTION) {

               File file = chooser.getSelectedFile();

               DefaultTableModel model = createModel(file);

               table.setModel(model);

           }

       }

   });

   return button;

}

private DefaultTableModel createModel(File file) {

   DefaultTableModel model = null;

   try {

       BufferedReader txtReader = new BufferedReader(

               new FileReader(file));

       String header = txtReader.readLine();

       model = new DefaultTableModel(header.split("\\\\s+"), 0);

       String line;

       while ((line = txtReader.readLine()) != null) {

           model.addRow(line.split("\\\\s+"));

       }

   } catch (IOException ex) {

       ex.printStackTrace();

   }

   return model;

}

public static void main(String[] args) {

   SwingUtilities.invokeLater(new Runnable() {

       public void run() {

           new TestTable5();

       }

   });

}

}

And my text file values : ( i saved in sampleinput.txt)

I uploaded here ( filename : 1c.png)

But my ouput is :

1a.PNG1b.PNG1c.PNG

But i want sampleinput notepad values in jtable by using jfilechooser.

Message was edited by: AmrutaSriram

Comments

thatJeffSmith-Oracle
Answer

That's actually working for me. In a procedure editor I have 3 bookmarks set. I use Ctrl+Q, and my cursor jumps between the 3, and cycles again.

Note I'm in version 4.0.1.14, released yesterday.

Marked as Answer by Klostrie-Oracle · Sep 27 2020
1 - 1

Post Details

Added on Dec 31 2018
0 comments
1,934 views