Java GUI写入文件不工作
我正在尝试在我的java代码中实现GUI特性,这是我第一次尝试。但我在代码中尝试了一个“创建播放器功能”,但它并没有写入文件。有人能帮我吗?谢谢Java GUI写入文件不工作,java,Java,我正在尝试在我的java代码中实现GUI特性,这是我第一次尝试。但我在代码中尝试了一个“创建播放器功能”,但它并没有写入文件。有人能帮我吗?谢谢 private class createListener implements ActionListener{ public void actionPerformed(ActionEvent event){ JFrame frame = new JFrame("Create Player");
private class createListener implements ActionListener{
public void actionPerformed(ActionEvent event){
JFrame frame = new JFrame("Create Player");
JPanel panel = new JPanel();
JPanel mainpanel = new JPanel();
JButton create;
JLabel welcome = new JLabel("Create Player");
JLabel name = new JLabel("Enter Player Name");
nameP = new JTextField();
JLabel pass = new JLabel("Enter Player Password");
password = new JTextField();
JLabel chips = new JLabel("Enter Player Chips");
chipsP = new JTextField();
buttonCreate = new JButton("Create Player");
setSize(400,350);
setLocation(500,280);
panel.setLayout(new GridLayout(0,1,10,10));
panel.add(name);
panel.add(nameP);
panel.add(pass);
panel.add(password);
panel.add(chips);
panel.add(chipsP);
panel.add(buttonCreate);
mainpanel.add(panel);
getContentPane().removeAll();
getContentPane().add(mainpanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
buttonCreate.addActionListener(new createListener());
}
}
private class playerListener implements ActionListener{
public void actionPerformed(ActionEvent event){
String username = nameP.getText();
String userpass = password.getText();
String hasheduserP = Utility.getHash(userpass);
String userchip = chipsP.getText();
String userContent = username + "|" + hasheduserP + "|" + userchip;
File file = new File("players.dat");
try{
//adding of user details
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("players.dat", true)));
out.println(userContent);
out.close();
JOptionPane.showMessageDialog(null,"User Created");
} catch (IOException ex){
System.out.println("Error Writing to File");
}
}
}
代码中与文件相关的部分工作正常 提示:如下改进:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class SOPlayground {
public static void main(String[] args) throws Exception {
String userContent = "foo";
try {
try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("/tmp/players.dat", true)))) {
out.println(userContent);
}
} catch (IOException ex) {
System.err.println("Error Writing to File: " + ex.getMessage());
}
}
}
/tmp/players.dat
的内容现在是
foo
您可以从问题中删除所有GUI内容。它与写入文件无关。你试过调试它吗?关于代码质量/编码风格的旁注:类名应始终以大写字母开头。但我仍然不明白为什么在输入信用凭证时使用GUI会变为空白。你试过调试它并看到什么userContent、username、hasheduserP、,用户芯片变量在使用前是否保存?是否将其写入文件?