swing jtable 单元编辑事件
来源:互联网 发布:日本人 b站 知乎 编辑:程序博客网 时间:2024/06/04 01:03
转自:http://www.xuebuyuan.com/672630.html
swing jtable 单元编辑事件(包括通过键盘获取焦点后编辑和鼠标双击后进入编辑状态)
import javax.swing.JTable;
import javax.swing.JTextField;
import ...........
public class MyTable extends JTable {
private String[] header;
private Object[][] value;
public MyTable(String[] header, Object[][] value) {
this.header = header;
this.value = value;
init();
}
private void init() {
DefaultTableModel dtm = new DefaultTableModel(value, header) {
@Override
public boolean isCellEditable(int row, int column) {
JTextField tf = new JTextField();
tf.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
event(e);
};
});
tf.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
tf.setSelectionStart(0);
tf.setSelectionEnd(tf.getText().length());
getColumnModel().getColumn(column).setCellEditor(
new DefaultCellEditor(tf));
return true;
}
};
addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
event();
}
});
}
private void event() {
int row = getSelectedRow();
int column = getSelectedColumn();
DefaultCellEditor obj = (DefaultCellEditor) (getColumnModel()
.getColumn(column).getCellEditor());
if (obj != null) {
JComponent com = (JComponent) obj.getComponent();
Object value = null;
if (com instanceof JTextField) {
value = ((JTextField) com).getText();
} else if (com instanceof JToggleButton) {
value = ((JToggleButton) com).isSelected();
}
System.out.println("row:" + row + " ,column:" + column + " ,value:"
+ value);
}
}
}
- swing jtable 单元编辑事件
- swing jtable 单元编辑事件(包括通过键盘获取焦点后编辑和鼠标双击后进入编辑状态)
- Swing JTable的一些使用方式:单元格触发事件、设置可编辑单元格
- Swing表格自定义JTable (表格可编辑)
- Swing JTable 自定义上下左右回车键盘事件
- SWING学习:JTable实现自定义的编辑单元格 (1)
- SWING学习:JTable实现自定义的编辑单元格 (2)
- Swing JTable 渲染器 进度条 事件线程 观察者模式
- swing中的JTable 添加行点击绑定事件
- 如何将JTable中某个可编辑单元的改编后的值即时保存
- Java Swing JTable
- Java Swing-JScrollPane,JTable
- swing jTable 自定义单元格
- Swing JTable复杂报表
- swing jtable常用
- swing jtable表头设置
- Swing编程JTable表格
- Java Swing JTable Demo
- 线程的引入
- vue.js让双括号{{message}}的内容不随input的值改变
- 第五周 分段函数求值
- RecyclerView 和 ListView 使用对比分析
- 第五周项目3——括号的匹配
- swing jtable 单元编辑事件
- 文件关闭后马上再打开另一个文件两个句柄会一样
- Android MediaPlayer+SurfaceView播放视频(附Demo)
- 关于git上传后自动部署到服务器
- Android ORM 框架之GreenDAO(二) 进阶
- ShaderLab基础(Hello world 程序)
- Fiddler抓取https原理?
- Redis常用的基本命令整理
- 计算机大学生的迷茫