我有代码,当我运行项目时,它会显示一个用户界面,表示添加播放器。当我点击它时,我有一个对话框让我输入名称和点数。它工作正常,但当我试图打印出我输入的信息时,它出错了。以下是代码,非常感谢任何帮助。
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import view.GUI;
public class addButtonActionListener implements ActionListener {
private GUI frame;
private JTextField name;
private JTextField points;
public addButtonActionListener(GUI frame) {
frame = this.frame;
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
// System.exit(0);
name = new JTextField();
points = new JTextField();
Object[] details = {
"Your Name", name,
"Points to start", points
};
JOptionPane.showConfirmDialog(null, details);
System.out.println("Add Player button pressed!");
System.out.println(name);
System.out.println(points);
// frame.getDetails().add(hello);
// System.out.println(frame.getDetails());
}
}
请忽略顶部的构造函数,因为我正在从另一个类调用该按钮。
答案 0 :(得分:1)
更改
System.out.println(points);
要
System.out.println(points.getText());
当您将对象(如JTextField)发送到println()
方法时,它会自动尝试调用对象toString()
方法。对于大多数Java对象,此方法返回您不想打印的内容,例如哈希代码。另一方面,getText()
方法会返回String
的{{1}}内容。