java jtable 编辑_JTable可编辑
/**
*
*
Title:[FileFieldEditor]
*
Description: [JTable可编辑]
*
Copyright 2009 Upengs Co., Ltd.
*
All right reserved.
*
Created by [Huyvanpull] [2012-12-6]
*
Midified by [modifier] [modified time]
*
* @version 1.0
*/
@SuppressWarnings("serial")
public class FileFieldEditor extends JComboBox implements TableCellEditor
{
/** EventListenerList:保存EventListener 列表的类 */
private EventListenerList listenerList = new EventListenerList();
/** ChangeEvent用于通知感兴趣的参与者事件源中的状态已发生更改 */
private ChangeEvent changeEvent = new ChangeEvent(this);
/**
*
*
Description:[构造方法]
*
*/
public FileFieldEditor(String[] fileFields)
{
super();
for(String fileField : fileFields)
{
this.addItem(fileField);
}
// 请求终止编辑操作可以包含单元格的JTable收到,也可以从编辑器组件本身(如这里的JComboBox)获得
/*
* addActionListener(newActionListener(){ publicvoid
* actionPerformed(ActionEvent e) {
* System.out.println("ActionListener");
* //如同stopCellEditing,都是调用fireEditingStopped()方法 fireEditingStopped(); }
* });
*/
}
public void addCellEditorListener(CellEditorListener l)
{
listenerList.add(CellEditorListener.class, l);
}
public void removeCellEditorListener(CellEditorListener l)
{
listenerList.remove(CellEditorListener.class, l);
}
private void fireEditingStopped()
{
CellEditorListener listener;
Object[] listeners = listenerList.getListenerList();
for (int i = 0; i < listeners.length; i++)
{
if (listeners[i] == CellEditorListener.class)
{
// 之所以是i+1,是因为一个为CellEditorListener.class(Class对象),
// 接着的是一个CellEditorListener的实例
listener = (CellEditorListener) listeners[i + 1];
// 让changeEvent去通知编辑器已经结束编辑
// 在editingStopped方法中,JTable调用getCellEditorValue()取回单元格的值,
// 并且把这个值传递给TableValues(TableModel)的setValueAt()
listener.editingStopped(changeEvent);
}
}
}
public void cancelCellEditing()
{}
/**
* 编辑其中一个单元格,再点击另一个单元格时,调用。
*/
public boolean stopCellEditing()
{
// 可以注释掉下面的fireEditingStopped();然后在GenderEditor的构造函数中把
// addActionListener()的注释去掉(这时请求终止编辑操作从JComboBox获得),
// System.out.println("编辑其中一个单元格,再点击另一个单元格时,调用。");
// 请求终止编辑操作从JTable获得
fireEditingStopped();
return true;
}
/**
* 为一个单元格初始化编辑时,getTableCellEditorComponent被调用
*/
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column)
{
String s = String.valueOf(value);
setSelectedItem(s);
return this;
}
/**
* 询问编辑器它是否可以使用 anEvent 开始进行编辑。
*/
public boolean isCellEditable(EventObject anEvent)
{
return true;
}
/**
* 如果应该选择正编辑的单元格,则返回true,否则返回 false。
*/
public boolean shouldSelectCell(EventObject anEvent)
{
return true;
}
/**
* 返回值传递给TableValue(TableModel)中的setValueAt()方法
*/
public Object getCellEditorValue()
{
return this.getSelectedItem().toString();
}
}
posted on 2012-12-08 23:12 HUIKK 阅读(459) 评论(0) 编辑 收藏 所属分类: Java
java jtable 编辑_JTable可编辑相关推荐
- java jtable用法_JTable用法-实例
前几篇文章介绍了JTable的基本用法,本文实现一个简单的JTable,算是前文的一个总结,并造福供拷贝党们. 一.主要功能 1.数据的增删改: 2.渲染器:"Vegetarian" ...
- java jtable 分页_Jtable分页查询完整实现
使用数据库:mysql 实现效果: 界面实现说明: 初始化时,默认显示为第一页,首页与上一页按钮会被禁用: 当前为第x页/共y页内容当中,x与y是动态计算设置的: 翻页到最后一页时,下一页与末页按钮会 ...
- 学习日报 day02 java的语法骨架 myeclipse编辑java代码
学习日报 day02 java的语法骨架 myeclipse编辑java代码 https://cloud.189.cn/t/3MJrm2MRNBRf 开发前的基本知识 java环境名词解释 JRE J ...
- java计算机毕业设计工作流流程编辑OA系统MyBatis+系统+LW文档+源码+调试部署
java计算机毕业设计工作流流程编辑OA系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计工作流流程编辑OA系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...
- 利用UE简化JAVA后端的SQL语句编辑
利用UE简化JAVA后端的SQL语句编辑 在我们需要用Java编辑较长的SQL时,例如下面一段SQL比较冗长 select b.PARA_AC, b.PARA_AD, a.* from (select ...
- java jtable 添加表头_JTable的表头合并
JTableHeader的单个表头最复杂的操作也就是Renderer渲染和Editor编辑,然后增加事件处理和悬浮框提示,最多再加点特殊显示效果,这和JTable单元格的操作相同,在前面的例子里都已经 ...
- Android中控件的显示和隐藏以及EditText的可编辑和不可编辑状态
一.控件的显示和隐藏 在Android中,怎么让控件可见和不可见呢? 其实,不论是显示和隐藏,都有两种方式,一种是在布局文件xml里设置,还有一种就是在我们的java代码中设置. 1. 可见(visi ...
- mapgis编辑属性结构编辑不了_MapGIS67操作手册(3-17)MapGIS67编辑线属性结构的方法...
下面我们给每条河流,添加对应的名称属性,如黄河.长江等. 1. 单击"线编辑"菜单下"参数编辑"下的"修改线属性"命令,如下图所示: 2. ...
- android照片编辑软件,照片编辑免费软件下载-照片编辑软件app下载 v7.45最新版_5577安卓网...
照片编辑免费软件app下载,提供给你全新的图片处理工具,这是软件包含了丰富的功能内容,软件一键即可轻松对各种照片組合.编辑和拼貼,那么有需要图片处理的用户下载该app使用吧! [软件特色] [ 拼图编 ...
最新文章
- 如何在sqlite3连接中创建并调用自定义函数
- 开课吧python学费-分享一个小白也能月赚2万的新技能
- SizeOf与Structure与Managed Code
- 2020 操作系统第四天复习(知识点总结)
- 中国大数据企业排行榜V6.0- 5 年后再去看看中几个大数据公司的发展状况
- (附)python3 只需3小时带你轻松入门——python常用一般性术语或词语的简单解释
- 华为麒麟990芯片发布;谷歌宣布开源创新隐私保护技术;阿里20亿美元全资收购网易考拉;中国联通将设立100亿5G创新基金……...
- 在MacBook上Jupyter安装
- 编程语言对比 迭代器
- 判断用户用手机访问还是用电脑访问网页
- 深度搜索 java_java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法...
- AI一周热闻:北大建立人工智能新校区;英国首例机器人心脏手术致死
- 数据库设计实例(以一张表为例)
- 监控网页的卡顿与崩溃
- Maven 中的cannot Resolve情况
- chrome浏览器扩展打包成crx
- 关于微信小程序·小程序云开发字段搜索
- 一、多线程是什么?为什么要用多线程?
- 远程计算机IP地址如何获取,获取远程主机的IP地址
- Java抽取Office、PDF的四件兵器