JList and ListModel have type parameters. Let's use 'em. (I'll fix the one
client that lives in the bowels of Yohoho.)
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
package com.samskivert.swing;
|
||||
|
||||
import java.util.List;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JPanel;
|
||||
@@ -15,7 +16,7 @@ import javax.swing.ListModel;
|
||||
* can be collapsed. Each section of a list uses a {@link JList} instance
|
||||
* to render the section elements.
|
||||
*/
|
||||
public class CollapsibleList extends JPanel
|
||||
public class CollapsibleList<E> extends JPanel
|
||||
{
|
||||
/**
|
||||
* Constructs an empty collapsible list.
|
||||
@@ -31,15 +32,14 @@ public class CollapsibleList extends JPanel
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a collapsible list with the supplied section labels and
|
||||
* models.
|
||||
* Constructs a collapsible list with the supplied section labels and models.
|
||||
*/
|
||||
public CollapsibleList (String[] sections, ListModel[] models)
|
||||
public CollapsibleList (List<String> sections, List<ListModel<E>> models)
|
||||
{
|
||||
this(); // set up our layout manager
|
||||
|
||||
for (int i = 0; i < sections.length; i++) {
|
||||
addSection(sections[i], models[i]);
|
||||
for (int ii = 0, ll = sections.size(); ii < ll; ii++) {
|
||||
addSection(sections.get(ii), models.get(ii));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,10 +59,10 @@ public class CollapsibleList extends JPanel
|
||||
*
|
||||
* @return the index of the newly added section.
|
||||
*/
|
||||
public int addSection (String label, ListModel model)
|
||||
public int addSection (String label, ListModel<E> model)
|
||||
{
|
||||
add(new JLabel(label));
|
||||
add(new JList(model));
|
||||
add(new JList<E>(model));
|
||||
return getSectionCount()-1;
|
||||
}
|
||||
|
||||
@@ -78,9 +78,10 @@ public class CollapsibleList extends JPanel
|
||||
/**
|
||||
* Returns the list object associated with the specified section.
|
||||
*/
|
||||
public JList getSectionList (int index)
|
||||
public JList<E> getSectionList (int index)
|
||||
{
|
||||
return (JList)getComponent(index*2+1);
|
||||
@SuppressWarnings("unchecked") JList<E> list = (JList<E>)getComponent(index*2+1);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -88,7 +89,7 @@ public class CollapsibleList extends JPanel
|
||||
*/
|
||||
public void toggleCollapsed (int index)
|
||||
{
|
||||
JList list = getSectionList(index);
|
||||
JList<E> list = getSectionList(index);
|
||||
list.setVisible(!list.isVisible());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user