The following code add a editable Jlist in JTable
column.
//Example modified from http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples2.html
//Original example doesn't work
/**
* @version 1.0 12/03/98
*/
/*
* (swing1.1)
*/
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
/**
* @version 1.0 12/24/98
*/
public class EditableListExample extends JFrame {
public EditableListExample() {
super("Editable List Example");
String[] data = {"a","b","c","d","e","f","g"};
DefaultTableModel dm = new DefaultTableModel();
Vector dummyHeader = new Vector();
dummyHeader.addElement("");
dm.setDataVector(
strArray2Vector(data),
dummyHeader);
JTable table = new JTable( dm );
table.setShowGrid(true);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane scrollTable = new JScrollPane( table );
scrollTable.setColumnHeader(null);
scrollTable.setMinimumSize(new Dimension(100,80));
Box tableBox = new Box(BoxLayout.Y_AXIS);
tableBox.add(scrollTable);
tableBox.add(new JLabel("JTable"));
Container c = getContentPane();
c.setLayout(new BoxLayout(c, BoxLayout.X_AXIS));
c.add(tableBox);
setSize( 220, 130 );
setVisible(true);
}
private Vector strArray2Vector(String[] str) {
Vector vector = new Vector();
for (int i=0;i<str.length;i++) {
Vector v = new Vector();
v.addElement(str[i]);
vector.addElement(v);
}
return vector;
}
public static void main(String[] args) {
final EditableListExample frame = new EditableListExample();
frame.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
System.exit(0);
}
});
}
}