mbr*_*een 7 java arrays arraylist
我的程序中有四列按钮.分配新按钮时,按钮在列之间移动.而不是声明4个单独的arraylists来存储按钮,有没有办法创建1个arraylists数组,所以我可以简单地通过数组itterate?
我试过了 List<JButton>[] lists = new ArrayList<JButton>[5];
但那不行.我错过了什么?
编辑:
for(int i = 0; i < 5; i++){
if(choiceList.getSelectedIndex() == i){
if(btnPersons[nameList.getSelectedIndex()].getX() == column[i]){
JOptionPane.showMessageDialog(null, "Error - Name already present in the column.","", 1);
}else{
for(int j = 0; j < 5; j++){
if(lists[j].get(i) != null){
lists[j].remove(btnPersons[nameList.getSelectedIndex()]);
}
}
lists[i].add(btnPersons[nameList.getSelectedIndex()]);
lists[i].get(i).setBounds(column[i], ROWS[i], 125, 20);
//reloadLocations();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码.一旦选择了新列,它会检查按钮所在的列表并将其删除,然后将其添加到新列表中.但我的新问题是使用列表[i]将不再有效.Idk如何使用此声明正确遍历我的arraylists列表:
List<ArrayList<JButton>> lists = new ArrayList<ArrayList<JButton>>();
Run Code Online (Sandbox Code Playgroud)
您必须保留JButton对象列表的列表:
List<List<JButton>> lists = new ArrayList<List<JButton>>();
// populate (replace with your code)
lists.add(Arrays.asList(new JButton("list 1, button 1"), new JButton("list 1, button 2")));
lists.add(Arrays.asList(new JButton("list 2, button 3"), new JButton("list 2, button 4")));
lists.add(Arrays.asList(new JButton("list 3, button 5"), new JButton("list 3, button 6")));
lists.add(Arrays.asList(new JButton("list 4, button 7"), new JButton("list 4, button 8")));
// iterate
for(List<JButton> subList : lists) {
for(JButton button : subList) {
System.out.println(button.getText());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11444 次 |
| 最近记录: |