How to set the ListModel of a JList in Netbeans?
Asked Answered
G

2

8

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.

Glucinum answered 22/1, 2010 at 14:27 Comment(0)
C
11

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);
Caliph answered 22/1, 2010 at 14:32 Comment(2)
why after initComponents() and not before?Alodi
It's been awhile, but I believe it was because the JList isn't actually instantiated until initComponents() is called.Caliph
D
6

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

Damato answered 30/7, 2010 at 4:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.