1

これは非常に些細な質問のように思えるかもしれませんが、簡単な解決策を思いつくことができませんでした。確かにあるけど。

チェック ボックス メニュー項目 (選択または非選択が可能なメニュー項目) があります。それが選択されるたびに、新しいオブジェクトを作成して特定のリストに追加したいと考えています。選択が解除されたら、そのオブジェクトをリストから削除します。オブジェクトはその場で作成されるため、参照はありません。

私の質問は、選択解除時にオブジェクトを削除するにはどうすればよいですか?

final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem("My Item");                                
menuItem.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent ae) {
        if (menuItem.isSelected()) {
            someList.add(new someClass());                              
        }
        else {
            someList.remove(??);
        }
    }
});

JCheckBoxMenuItem クラスを拡張し、そこに someClass フィールドを追加して、新しく作成されたオブジェクトを常に参照できるようにすることを考えました。技術的には機能するはずですが、最もエレガントなソリューションとは思えませんでした...

4

4 に答える 4

0

ArrayList.clear()が必要だと思います

    someList.clear()

リストからすべての要素を削除したい場合はclear()、リストのメソッドを呼び出します。

@Override
    public void actionPerformed(ActionEvent ae) {
        if (menuItem.isSelected()) {
            someList.add(new someClass());                              
        }
        else {
            someList.clear();
        }
    }
于 2013-10-21T08:39:11.543 に答える