Reputation: 3
I have written a swings form with 5 text boxes and a button. When i click the button save, the data entered is being displayed in the table. Now i want to store the data shown in the table into a text file. Can anyone please help me with this code. I am still a java beginner and have very less idea about java coding. After lot of surfing, i was able to do the table part. I am attaching the code done so far. Please excuse if i have done some silly mistakes. Really in need of your help. Thanks in advance..
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)
{}
}
}
Upvotes: 0
Views: 1731
Reputation: 9188
In your button action listener, you can get data table from table and write into file like this.
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
Upvotes: 1
Reputation: 21
First of all, you need to add your button click event,like is:
save.addActionListener(new ActionListener(){
//this you must get JFiledText value and use ioStream input to file
})
Upvotes: 0