Hallo Zusammen
Bin neu da im Forum und hoffe Ihr könnt mir helfen.
Bin absoluter Java neuling, und hab den auftrag bekommen eine CSV-Datei in ein jTable zu schreiben und darzustellen.
Dies hab ich auch hingekriegt. Jetzt würde ich gerne dieses jTable anhand der Spaltenüberschriften sortieren. Leider hab ich keine Ahnung.
Könnt ihr mir da evt. Helfen? Anbei noch der Code der jTable.
Danke und Gruss
Thailwip
Bin neu da im Forum und hoffe Ihr könnt mir helfen.
Bin absoluter Java neuling, und hab den auftrag bekommen eine CSV-Datei in ein jTable zu schreiben und darzustellen.
Dies hab ich auch hingekriegt. Jetzt würde ich gerne dieses jTable anhand der Spaltenüberschriften sortieren. Leider hab ich keine Ahnung.
Könnt ihr mir da evt. Helfen? Anbei noch der Code der jTable.
Danke und Gruss
Thailwip
Code:
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.io.*;
public class Table extends JFrame {
private String[] columnNamen = { "Spalte1", "Spalte2", "Spalte3", "Spalte4" };
private DefaultTableModel tableModel;
//private JButton button;
private JComponent contentPane = (JComponent) getContentPane();
Table(){
super("MyTable");
setSize(330, 400);
initLayout();
setLocationRelativeTo(null);
//addWindowListener(new MeinWindowListener());
setVisible(true);
setResizable(true);
}
void createTable()
{
tableModel = new DefaultTableModel(null, columnNamen);
JTable tableZahlen = new JTable(tableModel);
tableZahlen.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tableZahlen.setAutoCreateRowSorter(true);
JScrollPane scrollPane = new JScrollPane(tableZahlen);
scrollPane.setPreferredSize(new Dimension(330, 400));
JPanel jpTable = new JPanel();
jpTable.add("Center", scrollPane);
contentPane.add("West", jpTable);
}
protected void readFile()
{
try{
BufferedReader reader = new BufferedReader(new FileReader("daten.csv"));
tableModel.setRowCount(0);
String strLine;
while ( (strLine = reader.readLine()) != null )
{
String[] items = strLine.split(";");
tableModel.addRow(items);
}
reader.close();
tableModel.fireTableDataChanged();
}
catch(FileNotFoundException e) {}
catch(IOException e) {}
}
void initLayout()
{
contentPane.setLayout(new BorderLayout());
tableModel = new DefaultTableModel(null, columnNamen);
JTable tableZahlen = new JTable(tableModel);
tableZahlen.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrollPane = new JScrollPane(tableZahlen);
scrollPane.setPreferredSize(new Dimension(300, 300));
JPanel jpTable = new JPanel();
jpTable.add("Center", scrollPane);
contentPane.add("West", jpTable);
}
}