2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java jtable导出txt_如何将jtable中的文本数据保存到文件中

java jtable导出txt_如何将jtable中的文本数据保存到文件中

时间:2020-02-03 16:00:04

相关推荐

java jtable导出txt_如何将jtable中的文本数据保存到文件中

展开全部

package com.dhee.the_first_group.Finance;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.util.StringTokenizer;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JSplitPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.JTree;

import javax.swing.event.TreeSelectionEvent;

import javax.swing.event.TreeSelectionListener;

import javax.swing.tree.DefaultMutableTreeNode;

import javax.swing.tree.TreePath;

public class Finance extends JFrame implements TreeSelectionListener,ActionListener, ItemListener{

JTable table;

Object obj[][];

Object name[] = { "员工号", "姓名", "性别", "年龄", "所在部门62616964757a686964616fe78988e69d8331333332626631","家庭住址" };

JButton button;

JComboBox combobox;

static int i = 0;

static int index = 0;// 第几行;

static String s = null;

static String str[] = new String[500];

JPanel jp = new JPanel();

JPanel jp1 = new JPanel();

JPanel jp2 = new JPanel();

JPanel jp3 = new JPanel();

JTable jta=new JTable();

JButton jb=new JButton();

JButton jb1=new JButton();

JLabel jl=new JLabel("员工号");

JLabel jl1=new JLabel("姓名");

JLabel jl2=new JLabel("性别");

JLabel jl3=new JLabel("年龄");

JLabel jl4=new JLabel("所在部门");

JLabel jl5=new JLabel("家庭住址");

JTextField jtf=new JTextField(10);

JTextField jtf1=new JTextField(10);

JTextField jtf2=new JTextField(10);

JTextField jtf3=new JTextField(10);

JTextField jtf4=new JTextField(10);

JTextField jtf5=new JTextField(20);

DefaultMutableTreeNode root = new DefaultMutableTreeNode("财务部门管理 ");// 创建树的根结点

JTree jt=new JTree(root);

DefaultMutableTreeNode personnelNode = new DefaultMutableTreeNode("工资 ");// 创建树的一级子结点

DefaultMutableTreeNode prom=new DefaultMutableTreeNode("1");

DefaultMutableTreeNode prom1=new DefaultMutableTreeNode("2");

DefaultMutableTreeNode prom2=new DefaultMutableTreeNode("3");

DefaultMutableTreeNode prom3=new DefaultMutableTreeNode("4");

DefaultMutableTreeNode treatmentNode = new DefaultMutableTreeNode("奖金 ");

DefaultMutableTreeNode prom21=new DefaultMutableTreeNode("1");

DefaultMutableTreeNode prom22=new DefaultMutableTreeNode("2");

DefaultMutableTreeNode prom23=new DefaultMutableTreeNode("3");

DefaultMutableTreeNode systemNode = new DefaultMutableTreeNode("福利 ");

DefaultMutableTreeNode prom31=new DefaultMutableTreeNode("1");

DefaultMutableTreeNode prom32=new DefaultMutableTreeNode("2");

DefaultMutableTreeNode prom33=new DefaultMutableTreeNode("3");

Finance() {

setDefaultCloseOperation(EXIT_ON_CLOSE);

personnelNode.add(prom);// 创建树的叶子结点并添加到一级子结点

personnelNode.add(prom1);

personnelNode.add(prom2);

personnelNode.add(prom3);

root.add(personnelNode);// 向根结点添加一级子结点

treatmentNode.add(prom21);

treatmentNode.add(prom22);

treatmentNode.add(prom23);

root.add(treatmentNode);

systemNode.add(prom31);

systemNode.add(prom32);

systemNode.add(prom33);

root.add(systemNode);

File f = new File("1.txt");

FileReader fr;

try {

fr = new FileReader(f);

BufferedReader br = new BufferedReader(fr);// 按行读

while ((s = br.readLine()) != null) {

index++;

StringTokenizer tokenizer = new StringTokenizer(s, ";");

while (tokenizer.hasMoreTokens()) {

str[i] = tokenizer.nextToken();

i++;

}

}

br.close();

fr.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} // 读文件

catch (IOException e) {

e.printStackTrace();

}

obj = new Object[index][6];

for (int a = 0; a < index; a++) {

for (int b = 0; b < 6; b++) {

obj[a][b] = str[(a * 6) + b];

}

table = new JTable(obj, name);

//combobox = new JComboBox();

//combobox.addItem("性别");

//combobox.addItem("年龄");

//combobox.addItemListener(this);

button = new JButton("保存");

button.addActionListener(this);

//getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);

//con.add(combobox,BorderLayout.NORTH);

//con.add(new JLabel("修改或录入数据后,需按Enter键确认!"), BorderLayout.SOUTH);

//con.add(button, BorderLayout.SOUTH);

}

jp1.add(new JScrollPane(table));

jp1.add(button);

jt.addTreeSelectionListener(this);

add(jp);

jp2.add(jl);

jp2.add(jtf);

jp2.add(jl1);

jp2.add(jtf1);

jp2.add(jl2);

jp2.add(jtf2);

jp2.add(jl3);

jp2.add(jtf3);

jp2.add(jl4);

jp2.add(jtf4);

jp2.add(jl5);

jp2.add(jtf5);

//jt.setOpaque(true);

jt.setBackground(Color.WHITE);// 设置树的背景色

// jt.setRootVisible(false);// 设置不显示树的根结点,默认为显示,即true

jt.setRowHeight(24);// 设置各结点的高度为27像素

jt.setFont(new Font("宋体", Font.BOLD, 14));// 设置结点的字体样式

JSplitPane js=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jt,jp);

js.setOneTouchExpandable(true);

js.setMinimumSize(new Dimension(100,50));

getContentPane().add(js);

setSize(824, 568);

setLocation(50, 50);

setTitle("财务部管理系统");

setVisible(true);

}

public void copy() throws IOException {

InputStreamReader isr = new FileReader("2.txt");

OutputStreamWriter osw = new FileWriter("1.txt");

int c;

while ((c = isr.read()) != -1) {

osw.write(c);

System.out.print((char) c);

}

osw.flush();

osw.close();

isr.close();

}

void test(int o) {

File f = new File("2.txt");

try {

OutputStreamWriter osw = new FileWriter(f);

for (int a = 0; a < i; a++) {

if (a % 6 == 5) {

osw.write(str[a] + '\n');

} else {

osw.write(str[a] + ";");

}

}

osw.flush();

osw.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

if (1 == 1) {

try {

copy();

} catch (IOException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

new Finance();

}

@Override

public void valueChanged(TreeSelectionEvent e) {

TreePath[] paths = e.getPaths();

for (int i=0; i

// 如果处于选择状态

if (e.isAddedPath(i)) {

// 将路径转化为节点数组

Object[] nodes=paths[i].getPath();

// 得到最后一个节点,即选择的节点

DefaultMutableTreeNode node=(DefaultMutableTreeNode)nodes[nodes.length-1];

if(node.equals(prom))

{

jp.add(jp1);

}

if(node.equals(prom1))

{

jp.add(jp2);

}

}

}

}

@Override

public void actionPerformed(ActionEvent e) {

for (int a = 0; a < index; a++) {

for (int b = 0; b < 6; b++) {

str[(a * 6) + b] = (String) obj[a][b].toString();

System.out.print(" " + str[(a * 6) + b]);

table.repaint();

}

}

if (1 == 1) {

test(i);

}

}

@Override

public void itemStateChanged(ItemEvent e) {

// TODO Auto-generated method stub

}

}

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。