0

ベクターを使用して JList アイテムを以下のように追加しています

public void addToList() {
    Icon pingImage = new javax.swing.ImageIcon(getClass().getResource("/resources/icnNew.png"));
    JLabel pingLabel = new JLabel("ID #231231", pingImage, JLabel.LEFT);
    JPanel pingPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    pingPanel.add(pingLabel);
    v.add(pingPanel);

    menuList.setListData(v);
}

私の要件は、ID に応じてベクター内のアイテムを更新することです。例: 上記で、ID #231231 の ImageIcon を変更したいと思います。

これはどのように行うことができますか?

4

1 に答える 1

0

質問へのコメントで既に述べたように、Vector は間違ったデータ構造です。識別子に基づいて更新を行うと、Mapが要求されます。O(log n) 操作ではなく O(n) 操作であるため、一致するラベルを探してリストを反復処理しないことをお勧めします。

于 2013-07-23T14:03:26.633 に答える