01: // ListEditor.java
02: // $Id: ListEditor.java,v 1.5 2000/08/16 21:37:31 ylafon Exp $
03: // Author: bmahe@sophia.inria.fr
04: // (c) COPYRIGHT MIT and INRIA, 1997.
05: // Please first read the full copyright statement in file COPYRIGHT.html
06:
07: package org.w3c.jigadmin.widgets;
08:
09: import java.awt.BorderLayout;
10: import java.awt.event.ActionListener;
11: import java.awt.event.ActionEvent;
12:
13: import javax.swing.JPanel;
14: import javax.swing.JList;
15: import javax.swing.JButton;
16: import javax.swing.JScrollPane;
17: import javax.swing.ListSelectionModel;
18: import javax.swing.BorderFactory;
19:
20: /**
21: * ListEditor display a JList and an "Edit" button.
22: * @author Benoit Mahe <bmahe@sophia.inria.fr>
23: */
24:
25: public abstract class ListEditor extends JPanel {
26:
27: protected JList list = null;
28: protected JButton editButton = null;
29:
30: ActionListener al = new ActionListener() {
31: public void actionPerformed(ActionEvent evt) {
32: String command = evt.getActionCommand();
33: if (command.equals("edit")) {
34: edit();
35: }
36: }
37: };
38:
39: protected abstract void edit();
40:
41: public ListEditor() {
42: this (5, true);
43: }
44:
45: public ListEditor(int nbVisible, boolean multiple) {
46: super (new BorderLayout());
47:
48: editButton = new JButton("Edit");
49: editButton.setActionCommand("edit");
50: editButton.addActionListener(al);
51: list = new JList();
52: list.setVisibleRowCount(nbVisible);
53: list
54: .setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
55: //list.setBorder(BorderFactory.createLoweredBevelBorder());
56: JScrollPane spane = new JScrollPane(list);
57: spane.setBorder(BorderFactory.createLoweredBevelBorder());
58: add(spane, BorderLayout.CENTER);
59: add(editButton, BorderLayout.EAST);
60: }
61:
62: }
|