将文件添加到jlist

时间:2017-09-24 03:15:28

标签: java netbeans-7

将文件添加到jlist,我添加到jframe,一个jbutton,一个jtextview和一个jlist,我将文件.txt添加到jtextview ex:C:/Windows/file.txt

JList.add(JList, null);

但是出了点问题

感谢

1 个答案:

答案 0 :(得分:0)

您需要使用JList的列表模型。你不能像你一样直接添加到JList,因为JList非常适合处理各种对象。这有点复杂。

首先,您要确保您的JList实际上包含默认列表模型:

// Make sure the JList contains a List Model
try { 
    DefaultListModel dlm = (DefaultListModel)yourJListName.getModel(); 
}
catch (Exception e) {
    // Nope...so let's set one.
    yourJListName.setModel(new DefaultListModel()); 
}

现在您确定您的JList包含列表模型,您可以向其添加项目。

// Get the current List Model for your JList
DefaultListModel dlm = (DefaultListModel)yourJListName.getModel();
// Declare a list to represent it.
JList list = new JList(dlm);
// Get the last position within the List so
// as to append to it.
int pos = list.getModel().getSize();
// Add the text from the JTextField into your JList.
dlm.add(pos, yourJTextFieldName.getText());

也许创建一个方法来为您添加:

public void addToJList(JList yourJList, String stringToAdd) {
    // Make sure the JList contains a List Model
    try { 
        DefaultListModel dlm = (DefaultListModel)yourJList.getModel(); 
    }
    catch (Exception e) {
        // Nope...so let's set one.
        yourJList.setModel(new DefaultListModel()); 
    }

    // Get the current List Model for your JList
    DefaultListModel dlm = (DefaultListModel)yourJList.getModel();
    // Declare a list to represent it.
    JList list = new JList(dlm);
    // Get the last position within the List so
    // as to append to it.
    int pos = list.getModel().getSize();
    // Add the text from the JTextField into your JList.
    dlm.add(pos, stringToAdd);
}

以及如何使用它:

addToJList(yourJListName, yourJTextFieldName.getText());