如何使用ActionListener更新JLabel

时间:2014-05-10 02:38:06

标签: java user-interface arraylist jlabel repaint

我写了ActionListener按钮,这样每当您点击该按钮时,名为ArrayList<JLabel>的{​​{1}}就会清除,并使用新的wordLabel进行更新。遗憾的是,旧的ArrayList未正确清除,而且与新的ArrayList叠加在一起

例如,点击之前:SPRING;点击后:SPRING-----(而不是-----

我的代码:

private class StartListener implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent event) {
        startPanel.wordLabel.clear();
        for (int i = 0; i <= word.length() - 1; i++) {
            startPanel.wordLabel.add(new JLabel("_"));
            startPanel.add(startPanel.wordLabel.get(i));
        }
        startPanel.revalidate();
        startPanel.repaint();

    }
}

有人可以帮忙吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

你不清楚startPanel,所以它有所有旧的JLabel和新角色。您可以通过添加以下内容来实现:

startPanel.removeAll();

答案 1 :(得分:0)

如果你想要做的就是清除你的ArrayList,你需要这样做:

arrayListName.clear();