JTabbedPane,JTable里面的数据

JTabbedPane, data inside the JTable's

我的数据有问题,在 selected 选项卡的单元格内包含我想进行计算的 JTable。我用 3 个 table 制作了 3 个标签,我的 table 的每个单元格都有用于测试的整数。我想 select 带有 index=1 的选项卡,然后尝试制作简单的公式,如 sum(x+y),它当然有效,但不是针对来自 index=1 的数据,而是针对我的 JTabbedPane 的 lastIndex。有人可以告诉我如何解决这个问题吗?

public class TabbedTable extends FormPanel implements ChangeListener{

private JTabbedPane jTabbedPane;
private int spreadCount;
private TaskPane taskPane;
private MultiOptionPane multiOptionPane;
private SpreadSheet[] spreadSheet;

public TabbedTable(String col,String row){
    super(col, row);
    initializePanel();
    initializeTaskPane();
    this.setBorder(BorderFactory.createBevelBorder(1, Colors.MyGray.color().darker(), Colors.MyGray.color().brighter()));


    jTabbedPane.setUI(new TabbedUI());
    jTabbedPane.addChangeListener(this);
    jTabbedPane.setFont(Fonts.Calibri.font());
}


private void initializePanel(){
    this.spreadCount = 3;
    this.createtabbedPane();
}


private void createtabbedPane(){
    jTabbedPane = new JTabbedPane();
    taskPane = new TaskPane();
    spreadSheet = new SpreadSheet[spreadCount];

    for(int i = 0 ; i < spreadCount ; i ++){
        spreadSheet[i]= new SpreadSheet(20,20,i);
        jTabbedPane.addTab(spreadSheet[i].getTitle(), spreadSheet[i].getScrollPane());
    }

    this.addXY(taskPane, 1, 2);
    this.addXY(jTabbedPane, 2, 2);

}

}

为了完整起见,我将把我的评论作为实际答案。


您显示的代码没有任何错误。理想情况下,我们需要查看电子表格 class.

中发生了什么

不过从屏幕截图来看,两个选项卡的值似乎在同一个地方。如果每次都发生这种情况,则可能表明您遇到了静态值问题,因为您对构造函数的调用是分开的。所以你应该调查一下。