package swingtest;
import javax.swing.CellEditor;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
public class TestJButton {
public static void main(String[] argv) throws Exception {
MyTable table = new MyTable();
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addColumn("A", new Object[] { "item1","item3" });
model.addColumn("B", new Object[] { "item2","item4" });
String[] values = new String[] { "1", "2", "3" };
table.setComboCell(1, 1, new MyComboBoxEditor(values));
// TableColumn col = table.getColumnModel().getColumn(0);
// col.setCellEditor(new MyComboBoxEditor(values));
// col.setCellEditor(new MyComboBoxRenderer(values));
// table.setModel(model);
// table.updateUI();
JScrollPane jp=new JScrollPane(table);
jp.setViewportView(table);
jp.setSize(400,300);
JFrame jf=new JFrame();
jf.getContentPane().add(jp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(400,300);
jf.setVisible(true);
}
}
class MyTable extends JTable{
int myRow=-1,myCol=-1;
TableCellEditor myEditor;
public void setComboCell(int r,int c,TableCellEditor ce){
this.myRow=r;
this.myCol=c;
this.myEditor=ce;
}
@Override
public TableCellEditor getCellEditor(int row, int column) {
System.out.println(row+","+column+";"+myRow+","+myCol+","+myEditor);
if(row==myRow&&column==myCol&&myEditor!=null)
return myEditor;
return super.getCellEditor(row, column);
}
}
class MyComboBoxEditor extends DefaultCellEditor {
public MyComboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
不同的单元格,设置不同的下拉框
猜你喜欢
转载自s398662926.iteye.com/blog/1705700
今日推荐
周排行