将来自多个 jtextfields 和组合框的数据保存到 .TXT 文件
Save data from multiple jtextfields and combo boxes to .TXT file
几周来我一直在尝试让这个程序运行,但没有成功。它是一个在 SwingUI 中创建的简单程序,带有多个文本字段和组合框。我想将输入到这些字段中的数据保存到文本文件中。我能够从 FName 字段中获取数据,但除此之外别无他法。也许这里有人可以指引我正确的方向?
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(frame, "Thank you for joining BPA! Your information has been submitted.");
String content = FName.getText();
LName.getText();//step1: get the content of the textfield
try {
File file = new File("c:/users/User/Documents/BPASignup.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content); //step2: write it
bw.close();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
你的意思是如何连接字符串?像这样:
String content = "First name: " + FName.getText() + "\n" +
"Last name: " + LName.getText() + "\n\n";
我想现在没有必要解释如何以及为什么使用 StringBuilder
。
祝你好运!
初始化字符串内容时,您使用了以下代码:
String content = FName.getText();
LName.getText();
这仅在您使用时有效:
String content = FName.getText() + LName.getText();
我也为自己制作了一个小程序,可以满足您对 swing 的要求:
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class Write{
static JButton button;
static JTextField one;
static JTextField two;
public static void main(String[] args){
JFrame frame = new JFrame("test");
one = new JTextField(20);
two = new JTextField(20);
button = new JButton("write file");
button.addActionListener(new ButtonListener());
JPanel mainPanel = new JPanel();
mainPanel.add(one);
mainPanel.add(two);
mainPanel.add(button);
frame.getContentPane().add(mainPanel);
frame.setSize(300,400);
frame.setVisible(true);
}
public static class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
File file = new File("test.txt");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
String content = one.getText() + " " + two.getText();
bw.write(content);
bw.close();
System.out.println("Done");
} catch (Exception ex){ex.printStackTrace();}
}
}
}
也许这也有帮助。
几周来我一直在尝试让这个程序运行,但没有成功。它是一个在 SwingUI 中创建的简单程序,带有多个文本字段和组合框。我想将输入到这些字段中的数据保存到文本文件中。我能够从 FName 字段中获取数据,但除此之外别无他法。也许这里有人可以指引我正确的方向?
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(frame, "Thank you for joining BPA! Your information has been submitted.");
String content = FName.getText();
LName.getText();//step1: get the content of the textfield
try {
File file = new File("c:/users/User/Documents/BPASignup.txt");
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content); //step2: write it
bw.close();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
你的意思是如何连接字符串?像这样:
String content = "First name: " + FName.getText() + "\n" +
"Last name: " + LName.getText() + "\n\n";
我想现在没有必要解释如何以及为什么使用 StringBuilder
。
祝你好运!
初始化字符串内容时,您使用了以下代码:
String content = FName.getText();
LName.getText();
这仅在您使用时有效:
String content = FName.getText() + LName.getText();
我也为自己制作了一个小程序,可以满足您对 swing 的要求:
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class Write{
static JButton button;
static JTextField one;
static JTextField two;
public static void main(String[] args){
JFrame frame = new JFrame("test");
one = new JTextField(20);
two = new JTextField(20);
button = new JButton("write file");
button.addActionListener(new ButtonListener());
JPanel mainPanel = new JPanel();
mainPanel.add(one);
mainPanel.add(two);
mainPanel.add(button);
frame.getContentPane().add(mainPanel);
frame.setSize(300,400);
frame.setVisible(true);
}
public static class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
File file = new File("test.txt");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
String content = one.getText() + " " + two.getText();
bw.write(content);
bw.close();
System.out.println("Done");
} catch (Exception ex){ex.printStackTrace();}
}
}
}
也许这也有帮助。