/bundles/plugins-trunk/CommonControls/common/gui/ListPanel.java
Java | 95 lines | 72 code | 17 blank | 6 comment | 5 complexity | 00c476d292292bb8782e9bfacf477614 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- package common.gui;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import common.gui.util.*;
- /**
- * A simple list in a scroll pane, which can be reorderable or sorted.
- *
- * @author mace
- * @version $Revision: 1347 $ modified $Date: 2004-02-09 03:49:01 +0100 (Mon, 09 Feb 2004) $ by $Author: bemace $
- */
- public class ListPanel extends JPanel {
- private JLabel label;
- private JList list;
- private JScrollPane scrollpane;
- private boolean reorderable = true;
- private boolean sorted = false;
- public ListPanel(String title) {
- setLayout(new GridBagLayout());
- label = new JLabel(title);
- list = new JList(new DefaultListModel());
- list.setBorder(BorderFactory.createLoweredBevelBorder());
- scrollpane = new JScrollPane(list);
- ConstraintFactory cf = new ConstraintFactory();
- add(label, cf.buildConstraints(0, 0, 10, 1, cf.W, cf.H, 100, 0));
- add(scrollpane, cf.buildConstraints(0, 1, 10, 10, cf.N, cf.BOTH));
- if (reorderable) {
- }
- }
- public ListPanel(String title, Object[] items) {
- this(title);
- for (int i = 0; i < items.length; i++) {
- addElement(items[i]);
- }
- }
- public void clear() {
- ((DefaultListModel) list.getModel()).clear();
- }
- public void addKeyListener(KeyListener kl) {
- super.addKeyListener(kl);
- list.addKeyListener(kl);
- }
- public void addElement(Object element) {
- ((DefaultListModel) list.getModel()).addElement(element);
- }
- public boolean removeElement(Object element) {
- return ((DefaultListModel) list.getModel()).removeElement(element);
- }
- public void setLabel(String label) {
- this.label.setText(label);
- }
- public void setSorted(boolean b) {
- sorted = b;
- if (sorted) {
- reorderable = false;
- }
- }
- public void setReorderable(boolean b) {
- reorderable = b;
- }
- public void setSelectedIndex(int i) {
- list.setSelectedIndex(i);
- }
- public int getLastSelectedIndex() {
- int[] selected = list.getSelectedIndices();
- if (selected.length > 0) {
- return selected[selected.length - 1];
- } else {
- return -1;
- }
- }
- public Object[] getSelectedValues() {
- return list.getSelectedValues();
- }
- public Object[] toArray() {
- return ((DefaultListModel) list.getModel()).toArray();
- }
- }