在JTable中实现添加下拉框组件JComboBox
2013-11-21 09:33
453 查看
/**
*
*/
package frame;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
/**
* @author duchao
*
*/
public class MyTable extends JTable {
/**
* 序列化
*/
private static final long serialVersionUID = 1L;
private 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);
}
public static void main(String[] args) {
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));
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);
}
}
/**
*
*/
package frame;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
/**
* @author duchao
*
*/
class MyComboBoxEditor extends DefaultCellEditor {
/**
*
*/
private static final long serialVersionUID = 1L;
public MyComboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
*
*/
package frame;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
/**
* @author duchao
*
*/
public class MyTable extends JTable {
/**
* 序列化
*/
private static final long serialVersionUID = 1L;
private 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);
}
public static void main(String[] args) {
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));
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);
}
}
/**
*
*/
package frame;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
/**
* @author duchao
*
*/
class MyComboBoxEditor extends DefaultCellEditor {
/**
*
*/
private static final long serialVersionUID = 1L;
public MyComboBoxEditor(String[] items) {
super(new JComboBox(items));
}
}
相关文章推荐
- 在JTable中实现添加下拉框组件JComboBox
- JTable的高级用法小结(在JTable中添加组件)by:Jungle Yang
- Element-UI Table组件上添加列拖拽效果实现方法
- 使用layer弹层组件和javascript实现子页面添加文章后关闭子页面并刷新父页面
- JQuery,实现双击下拉框选项时,将选项添加到右侧下拉框,双击右侧下拉框时,将选项添加到左侧下拉框
- js实现下拉框支持添加和删除的方式
- ComeBox组件的使用,实现下拉链表
- Jqurey实现下拉框改变动态添加和删除表格
- Java实现JTable放置任意组件
- JTable中添加组件后,改变当选中时的背景色
- Windows安装Apache服务器(httpd),添加组件实现Flash播放器在线自由拖放MP4
- JTABLE 一个小格子添加2个按钮实现国际化 使用观察者设计模式
- Ajax动态为下拉列表添加数据的实现方法
- java中添加了jtable组件,却显示不出来
- 在JTable中添加可视化组件
- .NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤
- Android为各种组件或布局添加边框 以xml方式实现
- JTable的实用小例子,实现添加、删除
- 如何在JTable的单元格里添加图片,Button组件,Label组件等等组件
- vue省市区三联动下拉选择组件的实现