【发布时间】:2015-06-10 05:22:00
【问题描述】:
类似这个问题:Dynamically adding JTable to JScrollPane
每次用户单击按钮时,我都会尝试添加一个 JTable。首先,我的问题与那个问题相同;什么都不会显示,一旦我使用 getViewport 就可以显示它,但现在我看不到任何按钮。
我应该在每个 JTable 的上方和下方都有按钮。 (它们也在滚动窗格中。我猜测它们已被删除,因为 getViewport 将获取整个滚动窗格(我可以看到)并将我的 JTable 放在上面)。
为什么需要getViewport()?例如,如果我简单地将 JTable 更改为 JButton,我可以轻松地做我想做的事情。
此外,如果我将按钮移到滚动窗格之外,然后单击以添加另一个 JTable,看起来它什么也不做。我假设它只是不断在前一个 JTable 上放置另一个 JTable。
总结一下:如何使用 JScrollPane 中的按钮将 JTables 添加到同一个 JScrollPane 中?
感谢您的帮助。
编辑:用户单击按钮时发生的操作: 该按钮可以正常工作,每次点击都会添加,但不会出现任何表格。
public void actionPerformed(ActionEvent e)
{
JTableList.add(new JTable(getModel()));
panelClass.this.panel.add(JTableList.get(JTableList.size()-1));
panelClass.this.panel.add(new JButton("test"));
panelClass.this.validate();
panelClass.this.repaint();
}
【问题讨论】:
-
1.为了获得更好的帮助,请尽快发布 SSCCE/MCVE,简短,可运行,可编译,2. 重用模型,替换模型,而不是在运行时删除/添加新的 JTable
-
@mKorbel 我不想替换,但我想继续添加 JTables,(使用不同的模型)。在滚动窗格中,我只有两个按钮,单击其中任何一个都会添加一个带有适当模型的表格,以及另外两个按钮。在每个 JTable 之前或之后添加一个 JTable。这两个按钮只是以不同的方式获取一个表格模型
-
见 JTable.setModel()
-
@mKorbel 我正在设置模型,问题是当我尝试添加 JTable 时,如果我 getViewport,则 JTable 将正常显示,但它覆盖了我所有的按钮
-
1.为了获得更好的帮助,请尽快发布 SSCCE/MCVE,简短、可运行、可编译,
标签: java swing user-interface jtable jscrollpane