如何保存JTable中已编辑的信息
来源:互联网 发布:朝鲜半岛统一知乎 编辑:程序博客网 时间:2024/05/17 08:02
程序如下 :
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.util.*;
import java.io.*;
import java.awt.event.*;
public class Table_2 extends JFrame
{
JTable jtable;
DefaultTableModel data;
Vector v1,v2,v3,v4;
Vector vname=new Vector();
Vector vdata=new Vector();
public Table_2()
{
data=new DefaultTableModel();
data.addTableModelListener(new TML());
v1=new Vector();
v2=new Vector();
v3=new Vector();
v4=new Vector();
vname.add(new Integer(1));
vname.add(new Integer(2));
vname.add(new Integer(3));
vname.add(new Integer(4));
for(int i=0;i<8;i++)
{
v1.add(new String("Enm-1>:"+i));
v2.add(new String("Enm-2>:"+i));
v3.add(new String("Enm-3>:"+i));
v4.add(new String("Enm-4>:"+i));
}
vdata.add(v1);
data.setDataVector(vdata,vname);
/*
data.addColumn(new Integer(1),v1);
data.addColumn(new Integer(2),v2);
data.addColumn(new Integer(3),v3);
data.addColumn(new Integer(4),v4);
*/
jtable=new JTable(data);
jtable.setCellSelectionEnabled(false);
this.getContentPane().add(new JScrollPane(jtable));
this.setSize(300,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//System.out.println(jtable.getValueAt(0,1));
}
class TML implements TableModelListener {
public void tableChanged(TableModelEvent e)
{
if(jtable!=null)
{
System.out.println(jtable.getValueAt(jtable.getSelectedRow(),jtable.getSelectedColumn()));
writeFile();
}
}
}
void writeFile(){
try{
FileOutputStream fos=new FileOutputStream("pay.txt");
BufferedOutputStream fis=new BufferedOutputStream(fos);
ObjectOutputStream fas=new ObjectOutputStream(fis);
v1=data.getDataVector();
fas.writeObject(v1);
// System.out.print(vector);
fas.flush();
fas.close();
}catch(Exception e){}
}
void readFile(){
try{
FileInputStream fos=new FileInputStream("pay.txt");
BufferedInputStream fis=new BufferedInputStream(fos);
ObjectInputStream fas=new ObjectInputStream(fis);
v1=(Vector)fas.readObject();
data.setDataVector(v1,vname);
jtable.repaint();
fas.close();
}catch(Throwable e)
{
e.printStackTrace();
}
}
public static void main(String args[])
{
new Table_2();
}
}
但,我有一事不明,请指教
编辑前jtable显示:Enm-1>:0,Enm-1>:1,Enm-1>:2,Enm-1>:3
我改为: 1 , 2 , 3 , 4 ,后关闭jtable
再打开后又是: Enm-1>:0,Enm-1>:1,Enm-1>:2,Enm-1>:3
为什么再打开后还是Enm-1>:0,Enm-1>:1,Enm-1>:2,Enm-1>:3
而不是1,2,3,4
怎样修改此程序才能显示1,2,3,4(编辑jtable
后的内容)?
我初学JAVA,请多多指教
- 如何保存JTable中已编辑的信息
- 如何将JTable中某个可编辑单元的改编后的值即时保存
- 如何屏蔽JTable中编辑单元格的功能。
- WINDOWS XP如何编辑已保存的网络访问密码
- 如何让Jtable不可编辑?(
- 如何设置JTable不可编辑
- 如何保存ActionForm中未编辑的字段为NULL
- 如何编辑管理的信息?
- Jtable如何得到编辑单元格值
- 如何删除已保存的密码
- Win8如何查看已保存的无线网络
- C# 如何编辑文件的摘要信息
- JTable 的编辑和表现 (转)
- 如何将jTABLE的数据写入EXCEL中
- ACCESS2010 如何批量自动运行“已保存的导入”或“已保存的导出”
- 如何保存完整的异常信息
- MFC中如何将应用程序的配置信息保存到注册表中(一)
- MFC中如何将应用程序的配置信息保存到注册表中(二)
- 网页制作必備之初級代碼
- XMLHTTP抓取数据时乱码问题解决
- 利用XMLHTTP无刷新添加数据之Post篇
- 利用XMLHTTP无刷新添加数据之Get篇
- 将数据库的内容生成WORD文档
- 如何保存JTable中已编辑的信息
- 随机提取N条记录
- 《君主论》
- Jeff Molofee(NeHe) 的 OPENGL 教程-第一课
- 用正则解析图片地址,并利用XMLHTTP组件将其保存
- OpenGL开发库的组成
- Mobile 开发辅助工具大集合
- 论坛帖子附件的防盗链实现
- 第一个三角形:Jeff Molofee(NeHe) 的OPENGL教程-第二课