csvファイルの値を読み込み、開始ボタンを押したときにAWTテーブルにその値を表示します。停止ボタンを押すと、値の読み込みを停止する必要があります。テーブルをクリアするには、リセットボタンを使用する必要があります。私はAWTが初めてです。 これは私が試したものです。csvファイルの値を読み込んでAWTテーブルに表示
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();
}
}
私が得るのは、テーブルの形ではありません。開始ボタンをクリックすると、空白のウィンドウが表示されます。しかし、私はそのデータを表示したい。 は、あなたのデータベクトルを初期化するが、データで埋めされることはありません
そして、列名を指定していません。そしてなぜループ中にスキャナを呼び出す必要がありますか?そして、そのようにしてawtとswingをミックスするのは少し奇妙です。コードをいくつかの小さなメソッドに構造化することは、途中であなたの意図を明確にするのに役立ちます。 – nansen
あなたは正しいです、彼はSwingとAWTをミックスしていますが、Swingコンポーネントだけで書かれたコードは空のベクトルでテーブルを初期化しているので何も表示しません。私はすべてを書き直す必要なしに彼の問題を解決しようとしています。 –