JTabbedPane,JTable内部的数据

时间:2015-04-09 20:37:20

标签: java swing jtable jtabbedpane

我的数据存在问题,在所选标签的单元格内部包含我想要进行计算的JTable。我用3个表做了3个选项卡,我表的每个单元格都有整数用于测试。我想选择index = 1的tab然后尝试使用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);

}

}

screen 3 screen 4

screen 1 screen 2

Class diagram

1 个答案:

答案 0 :(得分:1)

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


您显示的代码中没有出现任何错误。理想情况下,我们需要查看Spreadsheet类中的内容。

从截图中可以看出,在同一个地方,两个标签的价值相同。如果每次都发生这种情况,则可能表明您对静态值存在问题,因为您对构造函数的调用是完全分开的。所以你应该研究一下。