En lista innehåller en property, visibleRowCount, som anger hur många rader som maximalt får visas samtidigt. I exemplet sätts den till tre med raden theList.setVisibleRowCount(3).
I motsats till AWT finns det inget inbyggt stöd för att skrolla listan, utan den måste placeras i en JScrollPane på tex detta vis: JScrollPane scroll = new JScrollPane(theList ).
Metoden getModel() returnerar ett objekt av typen ListModel
som bara innehåller metoder för att läsa listans element.
Vill vi kunna ändra listans innehåll måste vi definiera
en egen modell av typen DefaultListModel och tilldela den till listan,
se raderna
model = new DefaultListModel();
theList = new JList(model );
Sedan kan vi ändra innehållet med hjälp av metoder i vår
egen modell. Detta görs till exempel på raden model.addElement(text.getText())
.
ListSelectionModel, som används för att hantera markerade element, stöder tre olika markeringsmoder. Detta anges med property selectionMode. Konstanterna MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION och SINGLE_SELECTION anger att listan hanterar flera intervall, ett intervall eller endast ett valt element. Default är "ett intervall".
Listan är inte begränsad till att visa endast text. Det går att visa i princip vilka komponenter som helst, men då måste man skriva en egen ListCellRenderer, vilken ska returnera ett objekt som kan rita upp ett element i listan.
En JComboBox representeras internt av ett textfält med en popup JList, varför dess beteende är snarlikt JList. En combobox kan dock bara ha ett markerat element åt gången och skickar därför inget ListSelectionEvent.
I JComboBox anges antal synliga rader av en property vid namn maximumRowCount. Om det behövs sköts skrollningen om automatiskt, utan någon scroll pane.
Det går också bra att ändra listans innehåll utan att ta omvägen via modellen. JComboBox innehåller till exempel metoderna addItem() och removeAllItems().
På samma sätt som en JList kan även en JComboBox visa i stort sett vilka komponenter som helst.