Java GUI Swing Tutorial Part 19.6 | How to Show CSV Data in GUI Table | Swing JTable
Java GUI Swing Tutorial Part 19.6 | How to Show CSV Data in GUI Table | Swing JTable
Tutorial Cover:
1.How to Create Java GUI Table in Swing
2.Java Swing JTable
3.Java CSV GUI Table
4.Java JTable With Example
5.Java JTable Add Row
6.How to Make a Table in Java
Tutorial Link : https://youtu.be/2JPj2ezuI-k
Join Our Telegram Channel to Stay Updated : https://t.me/supercoders
Source Code : https://github.com/hackstarsj/JavaGUISwingTutorial
Source Code Swing GUI Table :
import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; import javax.swing.*; import javax.swing.border.EmptyBorder; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.Vector; public class SwingTableExample { public static void main(String args[]){ System.out.println("=============Java GUI Swing Table================="); JFrame frame=new JFrame("Java Swing Table"); frame.setSize(500,500); //Panel Code JPanel jPanel=new JPanel(); BoxLayout verticalLayout=new BoxLayout(jPanel,BoxLayout.Y_AXIS); jPanel.setLayout(verticalLayout); frame.add(jPanel); //Label JLabel static_data_label=new JLabel("Static Data Table"); static_data_label.setAlignmentX(JLabel.CENTER); static_data_label.setBackground(Color.BLACK); static_data_label.setForeground(Color.WHITE); static_data_label.setOpaque(true); EmptyBorder emptyBorder=new EmptyBorder(20,20,20,20); static_data_label.setBorder(emptyBorder); jPanel.add(static_data_label); //Data and Column String column[]={"Name","Email","Age"}; String data[][]={ {"Rahul","rahul@gmail.com","30"}, {"Vishal","vishal@gmail.com","31"}, {"Aman","aman@gmail.com","29"} }; //table JTable jTable=new JTable(data,column); JScrollPane jScrollPane=new JScrollPane(); jScrollPane.getViewport().add(jTable); jPanel.add(jScrollPane); //Label JLabel dynamic_data=new JLabel("Dynamic Data Table"); dynamic_data.setAlignmentX(JLabel.CENTER); dynamic_data.setBackground(Color.BLACK); dynamic_data.setForeground(Color.WHITE); dynamic_data.setOpaque(true); EmptyBorder emptyBorder2=new EmptyBorder(20,20,20,20); dynamic_data.setBorder(emptyBorder2); jPanel.add(dynamic_data); DefaultTableModel table_data=new DefaultTableModel(); for (int i=0;i<30;i++){ if(i==0){ table_data.addColumn("ID"); table_data.addColumn("Name"); table_data.addColumn("Email"); table_data.addColumn("Age"); } else{ Vector row=new Vector(); row.add(""+i); row.add("Rahul "+i); row.add("Rahul"+i+"@gmail.com"); row.add("2"+i); table_data.addRow(row); } } //Dynamic Table With Data JTable table2=new JTable(); table2.setModel(table_data); JScrollPane jScrollPane1=new JScrollPane(); jScrollPane1.getViewport().add(table2); jPanel.add(jScrollPane1); //Showing Csv Data in Table //Label JLabel csv_data_label=new JLabel("CSV Data Table"); csv_data_label.setAlignmentX(JLabel.CENTER); csv_data_label.setBackground(Color.BLACK); csv_data_label.setForeground(Color.WHITE); csv_data_label.setOpaque(true); EmptyBorder emptyBorder3=new EmptyBorder(20,20,20,20); csv_data_label.setBorder(emptyBorder3); jPanel.add(csv_data_label); //Parsing CSV Data File csv_file=new File("dummy.csv"); DefaultTableModel csv_data=new DefaultTableModel(); try{ int start=0; InputStreamReader inputStreamReader=new InputStreamReader(new FileInputStream(csv_file)); CSVParser csvParser= CSVFormat.DEFAULT.parse(inputStreamReader); for(CSVRecord csvRecord:csvParser){ if(start==0){ start=1; csv_data.addColumn(csvRecord.get(0)); csv_data.addColumn(csvRecord.get(1)); csv_data.addColumn(csvRecord.get(2)); csv_data.addColumn(csvRecord.get(3)); } else{ Vector row=new Vector(); row.add(csvRecord.get(0)); row.add(csvRecord.get(1)); row.add(csvRecord.get(2)); row.add(csvRecord.get(3)); csv_data.addRow(row); } } } catch (Exception e){ System.out.println("Error in Parsing CSV File"); } JTable jTable1=new JTable(); jTable1.setModel(csv_data); JScrollPane jScrollPane2=new JScrollPane(); jScrollPane2.getViewport().add(jTable1); jPanel.add(jScrollPane2); //Table Listener jTable1.getModel().addTableModelListener(new TableModelListener() { public void tableChanged(TableModelEvent tableModelEvent) { System.out.println("Row : "+jTable1.getSelectedRow()+" | Column : "+jTable1.getSelectedColumn()+" | Current Value : "+jTable1.getValueAt(jTable1.getSelectedRow(),jTable1.getSelectedColumn()).toString()); } }); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
No comments:
Post a Comment