gpt4 book ai didi

java - 向 JTable 添加多行

转载 作者:行者123 更新时间:2023-12-02 05:05:21 25 4
gpt4 key购买 nike

这是一个相当新手的问题,但我很难向 Jtable 添加多行。

我有一个程序,可以从用户搜索的文件中读取数据,我想将其全部输出到表格上。

问题是,每当有多个项目与该搜索匹配时,信息不会全部输出在一张表上,而是弹出菜单多次出现,每次只在 Jtable 上显示一行,而不是只给我一个弹出窗口,其中包含一个 Jtable 中的所有行。

这是代码:

for (int x=0;x<data.length(); ++x)
{
if (database[4].equalsIgnoreCase(valenceInput)) //Search database for the number inputted by user
{

Object[][] rows = {
{database[0],database[1],database[2],database[3],database[4]}
};

Object[] cols = {
"Name","Symbol","Atomic Number","Atomic Mass", "# of Valence Electrons"
};
JTable table = new JTable(rows, cols);

JOptionPane.showMessageDialog(null, new JScrollPane(table));

found=true; //Booleon set to true to ensure desired output
break;
}
}

输出如下: /image/vvECD.png

紧接着,我将看到另一个弹出窗口,它将显示与搜索匹配的另一行数据,我试图弄清楚如何将所有行放在一个 Jtable 上,而不是显示许多行,每个行仅显示 1数据行。

最佳答案

for循环中构建TableModel并在完成后显示表格...

DefaultTableModel model = new DefaultTableModel(
new Object[]{"Name","Symbol","Atomic Number","Atomic Mass", "# of Valence Electrons"},
0);
for (int x=0;x<data.length(); ++x)
{
if (database[4].equalsIgnoreCase(valenceInput)) //Search database for the number inputted by user
{
Object[] rows = {database[0],database[1],database[2],database[3],database[4]};
model.addRow(rows);
}
}

JTable table = new JTable(model);
JOptionPane.showMessageDialog(null, new JScrollPane(table));

参见How to Use Tables了解更多详情

关于java - 向 JTable 添加多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27852632/

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