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;
|
package com.samskivert.swing;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JList;
|
import javax.swing.JList;
|
||||||
import javax.swing.JPanel;
|
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
|
* can be collapsed. Each section of a list uses a {@link JList} instance
|
||||||
* to render the section elements.
|
* to render the section elements.
|
||||||
*/
|
*/
|
||||||
public class CollapsibleList extends JPanel
|
public class CollapsibleList<E> extends JPanel
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Constructs an empty collapsible list.
|
* Constructs an empty collapsible list.
|
||||||
@@ -31,15 +32,14 @@ public class CollapsibleList extends JPanel
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a collapsible list with the supplied section labels and
|
* Constructs a collapsible list with the supplied section labels and models.
|
||||||
* models.
|
|
||||||
*/
|
*/
|
||||||
public CollapsibleList (String[] sections, ListModel[] models)
|
public CollapsibleList (List<String> sections, List<ListModel<E>> models)
|
||||||
{
|
{
|
||||||
this(); // set up our layout manager
|
this(); // set up our layout manager
|
||||||
|
|
||||||
for (int i = 0; i < sections.length; i++) {
|
for (int ii = 0, ll = sections.size(); ii < ll; ii++) {
|
||||||
addSection(sections[i], models[i]);
|
addSection(sections.get(ii), models.get(ii));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,10 +59,10 @@ public class CollapsibleList extends JPanel
|
|||||||
*
|
*
|
||||||
* @return the index of the newly added section.
|
* @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 JLabel(label));
|
||||||
add(new JList(model));
|
add(new JList<E>(model));
|
||||||
return getSectionCount()-1;
|
return getSectionCount()-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,9 +78,10 @@ public class CollapsibleList extends JPanel
|
|||||||
/**
|
/**
|
||||||
* Returns the list object associated with the specified section.
|
* 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)
|
public void toggleCollapsed (int index)
|
||||||
{
|
{
|
||||||
JList list = getSectionList(index);
|
JList<E> list = getSectionList(index);
|
||||||
list.setVisible(!list.isVisible());
|
list.setVisible(!list.isVisible());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user