存储来自多个jtable的值

时间:2015-01-10 17:22:30

标签: java swing jtable

我的应用程序需要在不同的jtable中显示不同的信息集,例如,如果应用程序具有Group 1结果,Group 2结果和Group 3结果,那么我需要在单独的选项卡中单独显示每个组使用单独的每组的jtable。当用户按下工具栏上的按钮时,我需要验证所有jtable并确保它们不为空。我面临的问题是 - 由于创建的jtable数量是动态的(基于运行时的组数),有人可以建议我一种设计方法,帮助我维护创建的jtables列表并迭代jtable。任何建议或参考示例都会有很大的帮助!

示例代码: -

table.addMouseListener(new MouseAdapter()
{                         
public void mouseClicked(MouseEvent e){
    // here i need to print the JTable Name                                 
}     
});

1 个答案:

答案 0 :(得分:0)

您的问题非常广泛,可能过于宽泛而无法充分回答,但您似乎需要java.util.List<T> 某事(通常以ArrayList<T>)。这可能是List<JTable>,或List<ClassThatHoldsATable>List<ModelsForATable>。这样,您可以根据需要在列表中添加或删除项目,遍历列表,执行所需的任何验证,等等。

编辑:您已编辑过您的问题,现在几乎说明了同样的事情。鉴于此编辑,我不确定您的位置。


修改
根据您更新的问题和代码:

table.addMouseListener(new MouseAdapter()
{                         
public void mouseClicked(MouseEvent e){
    // here i need to print the JTable Name                                 
}     
});

的问题:

  • 我通常会避免使用mouseClicked,因为如果点击,轻微移动鼠标然后释放,它就很容易响应用户。我通常使用mousePressed方法。
  • 你是什么意思&#34; JTable Name&#34;?如果你的意思是变量名,那就不要去那条路,因为变量名并不是有用的或有用的。如果你的意思是JTable对象引用,它比变量名更重要,那么你就得到了它:

如,

table.addMouseListener(new MouseAdapater() {

    @Override // never forget this guy
    public void mousePressed(MouseEvent e) {

        // you've got your JTable reference right here!
        JTable selectedTable = (JTable) e.getSource();

        // now what you do with it will depend on your needs and your code
    }
});

如果您绝对需要将对象与String关联,请考虑使用Map<JTable, String>,例如HashMap。