相当我是Java的初学者,我认为必须有我的问题的解决方案因为我很容易解决,但是我没有发现,如果有人能给出链接和直接回答,那就是真的很棒。
我有两个班,一个是Creation
,另一个是slice
。现在Creation
类有多个slice
类的实例,它基于JButton组件的ActionPerformed。
现在,每次从ArrayList
类调用实例时,我都想创建slice
类中的creation
个切片。在开始时,Arraylist将是空的。然后我想使用arraylist的索引将arraylist中的面板返回到Creation
类。
public class Slice extends JPanel {
public ArrayList<Slice> network_slices;
private JPanel slice;
public Slice() {
network_slices = new ArrayList<>();
slice= new JPanel();
slice.setPreferredSize(new Dimension(550, 600));
slice.setVisible(true);
network_slices.add((Slice) slice);
}
public JPanel getPanel() {
//What to do to get the Panel in Creation class using their array index?
}
}
答案 0 :(得分:0)
在getPanel()返回之前添加:
network_slices.add(slice);
答案 1 :(得分:0)
试试这个吗?
public class Slice extends JPanel {
public ArrayList<Slice> network_slices;
private JPanel slice;
public Slice() {
network_slices = new ArrayList<>();
}
public JPanel getPanel() {
slice = new JPanel();
slice.setPreferredSize(new Dimension(550, 600));
slice.setVisible(true);
network_slices.add((Slice) slice);
return slice;
}
}
请不要搞乱命名约定:
Slice
是班级的名称。始终以大写字母开头。slice
是变量的名称。总是以小写字母开头。此外,在Java中,我们都习惯了CamelCase。因此,您的变量应命名为nerworkSlices
,而不是network_slices
。但只是一件小事。以上更有意义。此外,可以使用JDK 7中的菱形运算符代替new ArrayList<>()
等显式类型参数。