我在Java中创建JTable
,我正在迭代一个名为methodtraces2
的列表,对于第10,11,12和13列,我希望每个单元格都由{{{ 1}}。例如,第10列中的每个单元格都应包含一个组合框,组合框中的每一行应包含列表JComboBox
中的一个条目,第10列中的每个单元格将根据{{1}的内容而有所不同},methodtrace.getCallersList()
的每次迭代都不同。
我正在获取每个组合框的所有值并将它们存储在methodtrace.getCallersList()
的数组中,该数组表示表的每一行的组合框的内容(methodtraces2
的每次迭代) 。
String items1
应在methodtraces2
的每次迭代中填充items1
comboBox1
应填充methodtraces2
items2
应填充comboBox2
items3
应填充comboBox3
我需要对第11,12和13列做同样的事情。
items4
包含第11列的组合框的值comboBox4
包含第12列items2
包含第14列中每行的组合框值。方法items3
负责将组合框分配给适当的列,现在,我对第10列中的所有行都有相同的组合框内容输入。
items4
答案 0 :(得分:0)
我不确定我是否完全理解这里发生了什么,但是你提到你正在迭代一个名为 methodtraces2 的列表但是在你发布的代码中:
for(Method2Representation caller: methodtrace (NOT methodtrace2!).getCallersList()) {
items1[i]=caller.toString();
System.out.println(caller.toString());
i++;
}
你实际上正在迭代methodTrace(注意:不是methodTraces2)。调试这些问题时要尝试的另一件事是简化:
for(Method2Representation caller: methodtrace.getCallersList()) {
items1[i]=caller.toString();
System.out.println(caller.toString());
i++;
}
可以更改为:
String stuff[] = {"1", "2", "3", .... "N"};
for(String s : stuff) {
items1[i]=s
System.out.println("testing items1[" + i + "]: " + items[i]);
i++;
}
最后一点,我希望你改变变量名来保护一些专有代码,因为那些变量名最终会让任何人疯狂!使用描述性变量名而不是items1,使用callers或items2使用callees。
HH:)