向 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
这是一个新手问题,但我很难将多行添加到 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