gpt4 book ai didi

java - 将文本文件中的数据填充到JTable中

转载 作者:行者123 更新时间:2023-12-01 16:22:04 25 4
gpt4 key购买 nike

现在我的问题是我不想出现单词“ HELLO”(
这些是项目的要求-我想出现在文本文件中,但我不在jtable中)。我的文本文件是text_file,但是在我看来jtable中我需要两行而不是一行。我的表格视图是table_view
我的代码是

public class Table {

JFrame f;
Vector data;

public Table() {

try {
File file = new File("test.txt");
FileReader reader = null;
try {
reader = new FileReader(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
f = new JFrame();

String[] columnNames = {"Title", "Author", "isbn", "Date", "Kind"};

DefaultTableModel model = new DefaultTableModel(columnNames, 0);

BufferedReader infile = new BufferedReader(reader);

String line = "";

Vector<Object> row = new Vector<Object>(5);
while ((line = infile.readLine()) != null) {
if (line.isEmpty() || line.contains("HELLO"))
{
model.addRow(row);
row = new Vector<Object>(5);
} else {
row.add(line);
}
}
if (row.size() != 0)
{
model.addRow(row);
}

JTable table = new JTable(model);
JFrame f = new JFrame();
f.setSize(550, 350);
f.add(new JScrollPane(table));
f.setVisible(true);
} catch (IOException ex) {
Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
}

}

}

最佳答案

我本来要回复您的最新帖子,但您删除了它:https://stackoverflow.com/questions/62229550/populate-data-from-text-file-in-jtable

您不应该创建自定义TableModel。您没有在模型中添加任何新功能。添加数据并不添加功能。

这次您的方法更合理,但是仍然过于复杂。使用Vector的要点是,您可以在读取数据时将数据添加到Vector中,这大大简化了逻辑。

在创建组件的主要逻辑中,代码流应类似于:

String[] columnNames = {"Title", "Author", "isbn", "Date", "Kind", "Field"};
DefaultTableModel model = new DefaultTableModel(columnNames, 0); // create empty model

Vector<Object> row = new Vector<Object>(6);

while ((line = infile.readLine()) != null)
{
if (line.isEmpty()) // all book info has been read add the book to the model
{
model.addRow( row );
row = new Vector<Object>(6);
}
else
row.add( line );
}

if (row.size() != 0) // add last book
model.addRow( row );

JTable table = new JTable( model );
JScrollPane scrollPane = new JScrollPane( table );
frame.add(scrollPane);

关于java - 将文本文件中的数据填充到JTable中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62243149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com