如何从另一个类访问ArrayList?

时间:2016-07-13 10:20:13

标签: java swing arraylist random integer

我在一个类中创建了一个arraylist,在单击一个JButton并切换到另一个面板和另一个类之后,我希望能够访问它并生成一个随机数。我怎么能这样做?

 ArrayList<Integer> hiraganaArray = new ArrayList<Integer>();

 OCheckBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            if(e.getStateChange() == ItemEvent.SELECTED) {
                hiraganaArray.add(1);
                hiraganaArray.add(2);
                hiraganaArray.add(3);
                hiraganaArray.add(4);
                hiraganaArray.add(5);
            }
            else {
                hiraganaArray.removeAll(Arrays.asList(1));
                hiraganaArray.removeAll(Arrays.asList(2));
                hiraganaArray.removeAll(Arrays.asList(3));
                hiraganaArray.removeAll(Arrays.asList(4));
                hiraganaArray.removeAll(Arrays.asList(5));
            }
        }

 startButton = new JButton("Start");
    startButton.setPreferredSize(new Dimension(100, 40));
    gbc.gridx = 3;
    gbc.gridy = 13;
    add(startButton, gbc);

    startButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            layout.show(panelCont, "6");
        }
    });

添加

时效果非常好
  System.out.println(hiraganaArray.get(r.nextInt(hiraganaArray.size())));

到JButton的Action Listener,但是当在另一个类中使用时,相同的代码不起作用。

1 个答案:

答案 0 :(得分:-1)

我已经弄明白了!我需要将第一个类中的代码更改为:

static ArrayList<Integer> hiraganaArray;
public ArrayList<Integer> getHiraganatArray() {
    return hiraganaArray;
}

第二节中的代码:

System.out.println(HiraganaClass.hiraganaArray.get(r.nextInt(HiraganaClass.hiraganaArray.size())));