当前位置: 代码迷 >> Java相关 >> java中想问一下怎么保存表格?
  详细解决方案

java中想问一下怎么保存表格?

热度:361   发布时间:2012-11-29 15:35:08.0
java中想问一下怎么保存表格?
    创建一个表格之后,输入了一些信息,完了之后,怎么保存下来,下次打开,是保存后的界面,和内容
怎么做?最好些个简单的例子
    在下先行谢过了
搜索更多相关的解决方案: 表格  

----------------解决方案--------------------------------------------------------
页面上是不会保存数据的 在一起会话以后页面上的变量都会消失
你可以连上数据库
----------------解决方案--------------------------------------------------------
能不能输入到文件?
----------------解决方案--------------------------------------------------------
能,可以写到文件中,再从文件中读出来
----------------解决方案--------------------------------------------------------
那帮我看一下我写的这个程序,好吗?谢谢了

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Table{
    public static void main(String args[]){
        Win win=new Win();
    }   
}

/*class FileTable{
    FileTable(){
    File file=new File("table.txt");
    char table[][];
    try{
        FileOutputStream out=new FileOutputStream(file);
        out.write(table);
        out.close();
        }
        catch(IOException e){
            System.out.println(e);
            }
        }
    }*/
    //定义Win类
class Win extends JFrame implements ActionListener{
    JTable table;
    Object a[][];
    Object name[]={"姓名","学号","专业","班级"};
    JButton computerRows,computerColums;
    JTextField inputRowsNumber;
    int initRows=1;
    JPanel pSouth,pNorth;
    int count=0,rowsNumber=0;
   
    //表格构造函数
    Win(){
        computerRows=new JButton("保存");//定义保存按钮,点击之后保存表格
        computerColums=new JButton("退出");//定义退出按钮,点击之后退出
        inputRowsNumber=new JTextField(10);
        computerRows.addActionListener(this);
        computerColums.addActionListener(this);
        inputRowsNumber.addActionListener(this);
        pSouth=new JPanel();
        pNorth=new JPanel();
        pNorth.add(new JLabel("输入表格的行数,回车确定"));
        pNorth.add(inputRowsNumber);
        pSouth.add(computerRows);
        pSouth.add(computerColums);
        add(pSouth,BorderLayout.SOUTH);
        add(pNorth,BorderLayout.NORTH);
        add(new JScrollPane(table),BorderLayout.CENTER);
        setBounds(100,100,370,250);
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
    //实现ActionEvent虚拟方法
public void actionPerformed(ActionEvent e){
    //初始化表格单元格赋空值
    if(e.getSource()==inputRowsNumber){
        count=0;
        initRows=Integer.parseInt(inputRowsNumber.getText());
        a=new Object[initRows][4];
        
        for(int i=0;i<initRows;i++){
            for(int j=0;j<4;j++)
                a[i][j]="";
                }
    table=new JTable(a,name);
    table.setRowHeight(20);
    getContentPane().removeAll();
    add(new JScrollPane(table),BorderLayout.CENTER);
    add(pSouth,BorderLayout.SOUTH);
    add(pNorth,BorderLayout.NORTH);
    validate();
    }
    //实现保存按钮操作,鼠标点击则调用方法存入文件table.txt中
    else if(e.getSource()==computerRows){
    saveFile();
    }
    //for(int i=0;i<initRows;i++)
    //for(int j=0;j<4;j++)
            //char table[i][j]=a[i][j];
   
    //}
    //实现退出按钮,鼠标点击则退出
    else if(e.getSource()==computerColums){
        break;
        }
   
    double totalSum=0;
    for(int j=0;j<rowsNumber;j++){
        totalSum=totalSum+Double.parseDouble(a[j][3].toString());}
        Object b[][]=new Object[rowsNumber+1][14];
        for(int i=0;i<rowsNumber;i++){
            for(int j=0;j<4;j++)
                b[i][j]=a[i][j];
                }

    a=b;
    table=new JTable(a,name);
    getContentPane().removeAll();
    add(new JScrollPane(table),BorderLayout.CENTER);
    add(pSouth,BorderLayout.SOUTH);
    add(pNorth,BorderLayout.NORTH);
    validate();
    public void saveFile(){
        try{
            FileOutputStream fos=new FileOutputStream("C:/data.bin");
            DataOutputStream dos=new DataOutputStream(fos);
            dos.writeUTF(tf.getText());
            dos.flush();
            dos.close();
            fos.close();
            }catch(Exception e){
            }finally{
            dos=null;
            fos=null;
            }
        }
    }
}


   
----------------解决方案--------------------------------------------------------
这样是没有人看的,调试代码是学习的最好的方法,代码都是调试出来的,要想学技术就要会调试。你去网上找一招Debug断点调试的知识,很简单,自己调试才能,这样你会收获更大。
----------------解决方案--------------------------------------------------------
  相关解决方案