I have designed a Swing GUI with the help of Netbeans IDE and this GUI contains a JList.
Bydefault, it uses AbstractListModel to pass it as an argument in the JList contructor to create that JList.
I want to specify somewhere in the Netbeans to pass DefaultListModel as the model to be passed in that JList so that later I can retrieve it to make changes in the listModel.
How can I do that.
Now to add additional elements at any time during execution, use addElement() again: listModel. addElement(new item); and it will show up in the JList.
To actually remove the item, we use the syntax . remove(int); where the integer is the index of the item you wish to remove. That is how we add and remove things from a JList, and this concludes our tutorial on the JList.
Call getSelectedIndex to get the index of the selected item in the JList . Call getSelectedValue method to get the value of the selected item in the JList .
getSelectedValuesList() returns a list of all the selected items.
You have two ways of doing this:
1) In your code manually call list.setModel() anywhere after initComponents() is called. 2) Do it through NetBeans - Right click the list, go to "Customize Code". The first code section is the list's constructor call. Change the dropdown from "Default Code" to "Custom Creation" and simply insert your ListModel in the constructor call. You can do this by setting it to new
javax.swing.JList(new DefaultListModel())
or by instantiating your listmodel before the call to initComponents() in the code and then doing
javax.swing.JList(defaultModel);
I usually do this way in Netbeans
1. Select the JList
2. In model property, select Custom code and insert the listModel name (declared in 3rd step)
3. declare DefaultListModel listModel = new DefaultListModel();
in code view
4. change listModel declaration to accept a List or similar
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With