将JTable的内容存储到文本文件中
问题描述:
我已经用5个文本框和一个按钮编写了一个波动表单。当我点击按钮保存时,输入的数据正在显示在表格中。现在我想将表中显示的数据存储到文本文件中。任何人都可以请帮我用这段代码。我仍然是一名java初学者,对java编码的想法很少。冲浪之后,我能够完成桌子部分。我附上了迄今为止完成的代码。请原谅我是否犯了一些愚蠢的错误。真的需要你的帮助。在此先感谢..将JTable的内容存储到文本文件中
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)
{}
}
}
答
首先,你需要添加按钮的单击事件,就像是:
save.addActionListener(new ActionListener(){
//this you must get JFiledText value and use ioStream input to file
})
+3
不确定此答案是否帮助 – mKorbel 2013-03-27 06:59:37
答
在您的按钮动作监听器,你可以从表中获取数据表和写像这样进入文件。
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
+0
谢谢大家。我能够做存储部分。你的所有建议都非常有帮助。 – Neelam 2013-04-01 05:51:09
如果您可以从文本框中检索数据,也可以将这些值写入文件。只是谷歌的东西像“写入字符串文件”。 http://stackoverflow.com/questions/1053467/how-do-i-save-a-string-to-a-text-file-using-java有很多例子。如何在文件中设置文本格式完全取决于您。 – 2013-03-27 06:34:07
您可以尝试使用类似[OpenCSV](http://opencsv.sourceforge.net/)的文件,它会为您编写/阅读大部分文件 – MadProgrammer 2013-03-27 07:51:31