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