存储来自多个 jtable 的值

storing values from multiple jtable

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

示例代码:-

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

您的问题 非常 广泛,也许过于广泛而无法充分回答,但您似乎需要 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方法。
  • "JTable Name" 是什么意思?如果你指的是变量名,那么不要走那条路,因为变量名并不是那么有用。如果您指的是 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
    }
});

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