簡體   English   中英

將多個元素添加到JList

[英]Add multiple elements to JList

我需要在jList上保存來自特定源的多個值。

在for循環中我生成了一個jComboBox和bot一個Model用於代碼中的上面聲明的Jlist (因此在這段代碼中不可見)我不明白,也許這是一個簡單的問題,這就是為什么jComboBox具有所有元素取自數組channelId而不是Jlist只保存最后一個元素。

DefaultListModel jList1Model;
private void printChannelData(Channel channel, String nodeName) {   
    String[] channelId = { channel.getId()+" - "+nodeName/*+" - "+channel.getName()*/};
    jList1Model = new DefaultListModel();

    for (int i=0; i < channelId.length; i++) {
        //Adds element to the Single Channel Loading ComboBox
        channelIdComboBox.addItem(channelId[i]);
        //Adds elements to the Multiple Channel Loading ComboBox
        jList1Model.addElement(channelId[i]); 

    }
    jList1.setModel(jList1Model);   
}   

每次調用printChannelData()都可以重新創建ListModel (可能在某個循環中)。 在外部創建ListModel ,並在方法內部添加到模型中。

channelId是一個String[] ,但只包含一個項目。 我不知道你想用它做什么。

DefaultListModel<String> jList1Model = new DefaultListModel<>();

// probably a loop where you call printChannelData()
List<ChannelData> channels = ...;
for (ChannelData cd : channels) {
    printChannelData(cd, "whatever");
}


private void printChannelData(Channel channel, String nodeName) {   
    String channelId = channel.getId() + " - " + nodeName + " - " + channel.getName();
    for (int i=0; i < channelId.length; i++) {
        //Adds element to the Single Channel Loading ComboBox
        channelIdComboBox.addItem(channelId[i]);
        //Adds elements to the Multiple Channel Loading ComboBox
        jList1Model.addElement(channelId[i]); 
    }
    jList1.setModel(jList1Model);   
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM