Java JList添加/删除项目

Java JList添加/删除项目,java,swing,add,jlist,Java,Swing,Add,Jlist,嗨,我必须从一个JList到另一个JList中选择一个元素,并将其从第一个JList中删除 我创建的方法只插入一个元素,覆盖最后一个元素,并且不会从第一个JList中删除所选项目 代码如下: 第一名单 private javax.swing.JList listaRosa; 使用此方法填充: private void visualizzaRosaButtonvisualizzaRosa(java.awt.event.ActionEvent evt) {

嗨,我必须从一个JList到另一个JList中选择一个元素,并将其从第一个JList中删除 我创建的方法只插入一个元素,覆盖最后一个元素,并且不会从第一个JList中删除所选项目 代码如下:

第一名单

private javax.swing.JList listaRosa;
使用此方法填充:

private void visualizzaRosaButtonvisualizzaRosa(java.awt.event.ActionEvent evt) {                                                    
    // TODO add your handling code here:
    visualizzaSquadraSelezionata();
    String fileSquadra;
    fileSquadra = squadraDaVisualizzare.getText();
    DefaultListModel listModel = new DefaultListModel();
    try {
        FileInputStream fstream = new FileInputStream("C:/Users/Franky/Documents/NetBeansProjects/JavaApplication5/src/javaapplication5/Rose/"+fileSquadra+"");
        // Get the object of DataInputStream
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String strLine;
        //Read File Line By Line
        while ((strLine = br.readLine()) != null)   {
            listModel.addElement(strLine);
            System.out.println(strLine);
        }
        listaRosa.setModel(listModel);
        //Close the input stream
        in.close();
    } catch (Exception e) {
    }
第二个列表,我要在其中插入从第一个列表中删除的项目:

private javax.swing.JList listaTitolari
以下是不起作用的代码:

private void aggiungiTitolareButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                       
    // TODO add your handling code here:
    DefaultListModel listModel = new DefaultListModel();
    String daInserire;
    listModel.addElement(listaRosa.getSelectedValue());
    listModel.removeElement(listaRosa.getSelectedValue());
    listaTitolari.setModel(listModel);
} 
谢谢

问题是

listModel.addElement(listaRosa.getSelectedValue());
listModel.removeElement(listaRosa.getSelectedValue());
您可能正在添加一个元素并立即删除它,因为添加和删除操作都在同一个listModel上

试一试


清除JLIST的最佳且最简单的方法是:

myJlist.setListData(new String[0]);

仍在编写插入的元素:(@Franky是否有任何异常?@Franky尚未找到解决方案。我尝试了上述代码,但无法从jlist中删除项。如上所述,您必须使用方法初始化defaultlistmodel。这将替换ListModel,这可能不可取。@dmoloney根据上面的注释,他们确实说“…清除JLIST”。此解决方案可实现此目的。
myJlist.setListData(new String[0]);