我没有找到好的头衔,我为此抱歉,
正如您将看到的那样,我称之为
ssframe.add(new JScrollPane(table),BorderLayout.CENTER);
3次,如果我点击typeButton然后是unitButton,它会在屏幕上显示2个表格。我希望每个按钮点击一个表,我该怎么做。
private class searchListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
JButton clickd = (JButton)e.getSource();
if (clickd==typeButton)
{
try
{
SwingUtilities.updateComponentTreeUI(ssframe);
showTable1("type",typefield.getText());
ssframe.add(new JScrollPane(table),BorderLayout.CENTER);
}catch(Exception a)
{
a.printStackTrace();
JOptionPane.showMessageDialog(null,"Error Code = 0112");
}
}
else if (clickd==unitButton)
{
try
{
SwingUtilities.updateComponentTreeUI(frame);
showTable1("unit",unitfield.getText());
ssframe.add(new JScrollPane(table),BorderLayout.CENTER);
}catch(Exception a)
{
a.printStackTrace();
JOptionPane.showMessageDialog(null,"Error Code = 0112");
}
}
else if (clickd==priceButton)
{
try
{
SwingUtilities.updateComponentTreeUI(frame);
showTable3("price",Integer.parseInt(pricefield.getText()));
ssframe.add(new JScrollPane(table),BorderLayout.CENTER);
}catch(Exception a)
{
a.printStackTrace();
JOptionPane.showMessageDialog(null,"Error C0de = 0112");
}
}
}
修改:这可能会帮助我解决问题的人:
model.setRowCount(0);
model.fireTableDataChanged();
答案 0 :(得分:4)
有很多方法可以做到这一点。
JScrollPane
的引用,并使用setViewportView
替换它的视图,提供您要显示的表格。 JScrollPane
将保留在框架JScrollPane
和JTable
将作为单个参考而维护然后只需改变模型。CardLayout
,这样可以根据需要切换视图