向 JTable 添加多行

Adding multiple rows to JTable

这是一个新手问题,但我很难将多行添加到 Jtable。

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

问题是,每当有多个项目匹配该搜索时,信息不会全部输出到一个 table,而是弹出菜单出现多次,每次只显示一行在 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;
                }
            }

输出如下: http://i.imgur.com/RFkRtug.png

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

for-loop 中构建 TableModel 并在完成后显示 table...

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