将JTable中的内容存储到文本文件中

时间:2013-03-27 06:13:59

标签: java swing file-io jtable defaulttablemodel

我写了一个带有5个文本框和一个按钮的秋千表格。当我单击按钮保存时,输入的数据将显示在表格中。现在我想将表中显示的数据存储到文本文件中。任何人都可以帮我这个代码。我仍然是一个Java初学者,对java编码的想法很少。经过大量的冲浪,我能够做桌子部分。我附上到目前为止完成的代码。如果我犯了一些愚蠢的错误,请原谅。真的需要你的帮助。提前谢谢..

import javax.swing.*;   
import java.awt.*;      
import java.awt.event.*;  

class ReadTextFile extends JFrame  
{   
JButton save;  
JPanel panel;   
JLabel label1,label2,label3,label4,label5;   
final JTextField text1,text2,text3,text4,text5;    

ReadTextFile(){    
label1 = new JLabel();   
label1.setText("English Word:");   
text1 = new JTextField(20);    

label2 = new JLabel();   
label2.setText("English Synonym:");   
text2 = new JTextField(20);   

label3 = new JLabel();    
label3.setText("Kannada Word:");    
text3 = new JTextField(20);    

label4 = new JLabel();      
label4.setText("Kannada Synonym:");    
text4 = new JTextField(20);    

label5 = new JLabel();
label5.setText("Parts of Speech:");    
text5 = new JTextField(20);     

save=new JButton("SAVE");    

panel=new JPanel(new GridLayout(6,2));     
panel.add(label1);     
panel.add(text1);       
panel.add(label2);     
panel.add(text2);    
panel.add(label3);     
panel.add(text3);     
panel.add(label4);     
panel.add(text4);      
panel.add(label5);     
panel.add(text5);    
panel.add(save);    
add(panel,BorderLayout.CENTER);    
setTitle("Word Base");     

save.addActionListener(new ActionListener() {    
public void actionPerformed(ActionEvent ae){      
String value1=text1.getText();     
String value2=text2.getText();     
String value3=text3.getText();      
String value4=text4.getText();       
String value5=text5.getText();     
Object rowData[][] = { { value1, value2,value3,value4, value5} };     
Object columnNames[] = { "English Word", "English Synonym", "Kannada Word","Kannada Synonym","POS" };      
JFrame f=new JFrame();       
JTable table = new JTable(rowData,columnNames);        
JScrollPane scrollPane = new JScrollPane(table);       
JPanel p=new JPanel();       
p.add(scrollPane);       
f.add(p);       
f.setVisible(true);      
//f.setDefaultLookAndFeelDecorated(true);      
f.setSize(400,200);        
}      
});      
}        

public static void main(String arg[])     
{       
try    
{      
  ReadTextFile frame=new ReadTextFile();        
  frame.setSize(300,200);       
  frame.setVisible(true);       
}        
catch(Exception e)       
{}      
 }      
}          

2 个答案:

答案 0 :(得分:1)

在你的按钮动作监听器中,你可以从表中获取数据表并写入这样的文件。

StringBuffer sbTableData = new StringBuffer();
for(int row = 0; row < table.getRowCount(); row ++){
    for(int column = 0; column < table.getColumnCount(); column ++){
        sbTableData.append(table.getValueAt(row, column)).append("\t");
    }
    sbTableData.append("\n");
}
// Write `sbTableData.toString()` into a file here

答案 1 :(得分:0)

首先,您需要添加按钮点击事件,例如:

save.addActionListener(new ActionListener(){
//this you must get JFiledText value and use ioStream input to file
})