Ich möchte die Werte der CSV-Datei lesen und in der AWT-Tabelle anzeigen, wenn Start-Taste gedrückt wird. Das Drücken der Stopptaste sollte aufhören, die Werte zu lesen. Reset-Taste muss verwendet werden, um die Tabelle zu löschen. Ich bin neu in AWT. Hier ist was ich versucht habe.Lesen der Werte der CSV-Datei und Anzeige in AWT-Tabelle
package AWTTable;
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.FileReader;
/**
*
* @author Admin
*/
public class AWTTableUpdate {
public static void main(String[] args) {
Frame f = new Frame();
Label label = new Label("Date and Time ");
Label label1 = new Label(" Name");
Label label2 = new Label("contents");
final Vector columnNames = new Vector();
final Vector data = new Vector();
final TextField text = new TextField(20);
Button b = new Button("Start");
Button b1 = new Button("Stop");
Button b2 = new Button("Reset");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String strFile = "c:/companylist.csv";
BufferedReader br = new BufferedReader(new FileReader(strFile));
String strLine = "";
StringTokenizer st = null;
int lineNumber = 0, tokenNumber = 0;
ArrayList<String> arrayList = new ArrayList<String>();
while ((strLine = br.readLine()) != null) {
lineNumber++;
st = new StringTokenizer(strLine, ",");
while (st.hasMoreTokens()) {
tokenNumber++;
arrayList.add(st.nextToken());
tokenNumber = 0;
}
Object[] elements = arrayList.toArray();
Scanner input = new Scanner(System.in);
System.out.print("Enter Ticker symbol");
} }catch (Exception e1) {
System.out.println("Exception while reading csv file: " + e1);
}
JTable table = new JTable(data, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
JFrame frame = new JFrame();
frame.add(scrollPane);
frame.setVisible(true);
frame.pack();
frame.repaint();
}
});
Panel p = new Panel(new GridLayout(6, 6));
p.add(label);
p.add(label1);
p.add(label2);
// p.add(text);
p.add(b);
p.add(b1);
p.add(b2);
f.add(p);
f.setVisible(true);
f.pack();
}
}
Was ich bekomme ist nicht in Form von Tabelle. Nach dem Klicken auf den Start-Button bekomme ich ein leeres Fenster. Aber ich möchte die Daten anzeigen. Danke
Und Sie bieten keine Spaltennamen. Und warum brauchst du den Anruf zum Scanner in dieser While-Schleife? Und es ist ein bisschen komisch, auf diese Weise mit Schwung zu mischen. Die Strukturierung Ihres Codes in mehrere kleine Methoden könnte dazu beitragen, Ihre Absicht klarzustellen. – nansen
Sie haben Recht, er mischt Swing und AWT, aber sein Code, der nur mit Swing-Komponenten geschrieben wurde, zeigt nichts, da er die Tabelle mit einem leeren Vektor initialisiert. Ich versuche nur, sein Problem zu lösen, ohne alles neu schreiben zu müssen. –