gpt4 book ai didi

java - FileWriter 仅在没有 GUI 的情况下工作

转载 作者:行者123 更新时间:2023-11-30 02:42:59 25 4
gpt4 key购买 nike

我想创建一个登录窗口,将用户名和密码保存在程序运行时创建的文件中:主要问题是当我从控制台运行java时,程序可以工作(这里是代码的一部分):

Scanner in = new Scanner(System.in);
try {
String s = " ";
System.out.print("Password: ");
s = in.nextLine();
File newTextFile = new File("data.txt");
FileWriter data = new FileWriter(newTextFile);
data.write(s);
data.close();
} catch (IOException iox) {
iox.printStackTrace();
}
}

但是当我运行这段代码时却没有

import java.util.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;

public class LogIn extends JFrame {

private JLabel label;
private JLabel label1;
private JButton button;
private JTextField text;
private JTextField text1;

public LogIn() {
setLayout(new FlowLayout());

label = new JLabel("Username");
add(label);

text = new JTextField(10);
add(text);

label1 = new JLabel("Password");
add(label1);

text1 = new JTextField(10);
add(text1);

button = new JButton("Log In");
add(button);

if(button.isSelected())
try {
File newTextFile = new File("data.txt");
FileWriter data = new FileWriter(newTextFile);
data.write(text.getText());
data.write(text1.getText());
data.close();
} catch (IOException iox) {
iox.printStackTrace();
}
}

public static void main(String[] args) {
LogIn gui = new LogIn();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(200, 125);
gui.setTitle("Log In");
gui.setVisible(true);
}
}

为什么会发生这种情况?

最佳答案

而不是:

if(button.isSelected())

ActionListener 添加到 JButton

isSelected() 方法返回按钮的状态。如果选择了切换按钮,则为 True;如果未选择,则为 false

这不是您所需要的,因为您只想将按钮单击与操作相关联,并且不使用切换按钮。

试试这段代码:

button.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
try {
File newTextFile = new File("data.txt");
FileWriter data = new FileWriter(newTextFile);
data.write(text.getText());
data.write(text1.getText());
data.close();
}
catch (IOException iox) {
iox.printStackTrace();
}
}

}
});

关于java - FileWriter 仅在没有 GUI 的情况下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41109002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com