PageRenderTime 51ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/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
  1. package common.gui;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import common.gui.util.*;
  6. /**
  7. * A simple list in a scroll pane, which can be reorderable or sorted.
  8. *
  9. * @author mace
  10. * @version $Revision: 1347 $ modified $Date: 2004-02-09 03:49:01 +0100 (Mon, 09 Feb 2004) $ by $Author: bemace $
  11. */
  12. public class ListPanel extends JPanel {
  13. private JLabel label;
  14. private JList list;
  15. private JScrollPane scrollpane;
  16. private boolean reorderable = true;
  17. private boolean sorted = false;
  18. public ListPanel(String title) {
  19. setLayout(new GridBagLayout());
  20. label = new JLabel(title);
  21. list = new JList(new DefaultListModel());
  22. list.setBorder(BorderFactory.createLoweredBevelBorder());
  23. scrollpane = new JScrollPane(list);
  24. ConstraintFactory cf = new ConstraintFactory();
  25. add(label, cf.buildConstraints(0, 0, 10, 1, cf.W, cf.H, 100, 0));
  26. add(scrollpane, cf.buildConstraints(0, 1, 10, 10, cf.N, cf.BOTH));
  27. if (reorderable) {
  28. }
  29. }
  30. public ListPanel(String title, Object[] items) {
  31. this(title);
  32. for (int i = 0; i < items.length; i++) {
  33. addElement(items[i]);
  34. }
  35. }
  36. public void clear() {
  37. ((DefaultListModel) list.getModel()).clear();
  38. }
  39. public void addKeyListener(KeyListener kl) {
  40. super.addKeyListener(kl);
  41. list.addKeyListener(kl);
  42. }
  43. public void addElement(Object element) {
  44. ((DefaultListModel) list.getModel()).addElement(element);
  45. }
  46. public boolean removeElement(Object element) {
  47. return ((DefaultListModel) list.getModel()).removeElement(element);
  48. }
  49. public void setLabel(String label) {
  50. this.label.setText(label);
  51. }
  52. public void setSorted(boolean b) {
  53. sorted = b;
  54. if (sorted) {
  55. reorderable = false;
  56. }
  57. }
  58. public void setReorderable(boolean b) {
  59. reorderable = b;
  60. }
  61. public void setSelectedIndex(int i) {
  62. list.setSelectedIndex(i);
  63. }
  64. public int getLastSelectedIndex() {
  65. int[] selected = list.getSelectedIndices();
  66. if (selected.length > 0) {
  67. return selected[selected.length - 1];
  68. } else {
  69. return -1;
  70. }
  71. }
  72. public Object[] getSelectedValues() {
  73. return list.getSelectedValues();
  74. }
  75. public Object[] toArray() {
  76. return ((DefaultListModel) list.getModel()).toArray();
  77. }
  78. }