Füllen Sie einige JTable Spalten mit Daten aus array
Ich habe eine csv-Datei (5 Spalten, mit | als Trennzeichen) und ich wollen zu füllen 2 JTable
Spalten mit zwei Spalten mit Daten aus einer csv-Datei.
public class jTable extends JFrame {
public static int rowNumber() {
int num = 0;
try {
File files = new File("C:\\BorsaItalia2.csv");
BufferedReader bf = new BufferedReader(new FileReader(files));
String lines = "";
while ((lines = bf.readLine()) != null) {
num++;
}
} catch (Exception e) {
e.printStackTrace();
}
return num;
}
JTable table;
public jTable() {
setLayout(new FlowLayout());
String[] columnNames = {"a", "b", "c", "d", "e"};
Object[][] data = new Object[rowNumber()][5];
table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(600, 950));
table.setFillsViewportHeight(true);
JScrollPane scroll = new JScrollPane(table);
add(scroll);
}
public static void main(String[] args) {
try {
int row = 0;
int col = 0;
Object[][] imported = new Object[rowNumber()][5];
File file = new File("C:\\BorsaItalia2.csv");
BufferedReader bfr = new BufferedReader(new FileReader(file));
String line = "";
while ((line = bfr.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, "|");
col = 0;
while (st.hasMoreTokens()) {
imported[row][col] = st.nextToken();
System.out.println("number["+ row + "]["
+ col + "]:" + imported[row][col]);
col++;
}
row++;
}
bfr.close();
Object[] description = new Object[imported.length];
Object[] symbol = new Object[imported.length];
for (int i = 0; i < imported.length; i++) {
description[i] = imported[i][2];
symbol[i] = imported[i][0];
}
for (int i = 1; i < imported.length; i++) {
System.out.println("Description is " + description[i]
+ " and symbol is: " + symbol[i]);
}
System.out.println("");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
System.out.println("error " + e);
}
jTable gui = new jTable();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(650, 950);
gui.setVisible(true);
gui.setTitle("Project Table");
}
}
Möchte ich füllen, Tabelle Spalte a
mit Object[] symbol
und Spalte c
mit Object[] description
.
Keinen Code Hilfe wirklich zu schätzen.
Danke an alle.
- Bitte überprüfen Sie die code-Formate, die Sie erwarten, bevor Sie veröffentlicht. Ich kann nicht verstehen, dass Chaos! Natürlich, Dinge wie
jTable extends JFrame
helfen nicht. Es ist ein Tisch, es ist ein frame, Nein, es ist Superman!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anstatt die
DefaultTableModel
impliziert durch IhreJTable
Konstruktor erstellen Sie Ihre eigene Implementierung derAbstractTableModel
, wie gezeigt, in Wie man Tabellen Verwenden: eine Tabelle Erstellen Modell. Vereinbaren Sie für IhregetValueAt()
um wieder die Daten aus den arrays, die Sie gelesen haben. Es gibt ein Verwandtes Beispiel hier.