您好,我正在尝试获取登录表单的用户输入。我有一个名为 textField 的
我想获取用户输入并在另一个类中使用它。JTextField
,
`public String useridGet()
{
return textField.getText();
}
public String userpasswordGet()
{
return passwordField.getText();
}`
我有这两种方法可以从登录表单返回 userid
和 user password
。
`Button btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
{
public void actionPerformed(ActionEvent arg0) {
{
loginConnect loginConnectObject = new loginConnect();
loginConnectObject.verifyDetails();
} }
});`
然后我在登录按钮中使用 loginConnect
类中的 verifyDetails()
方法来收集数据以与数据库进行比较。
`public void verifyDetails()
{
loginScreen loginScreenObject = new loginScreen();
String userid = loginScreenObject.useridGet();
String userpassword = loginScreenObject.userpasswordGet();
System.out.println("testing "+userid+userpassword);
}`
在 verifyDetails()
方法中,我试图创建一个 loginScreen
类的对象来访问收集输入的 getText
方法从登录表单。
这似乎无法正常工作,我不确定我哪里出错了,有任何提示。请,谢谢。
最佳答案
这是你的问题...
loginConnect loginConnectObject = new loginConnect();
您不断创建 loginConnect
类的新实例,这意味着屏幕上显示的不是您尝试访问的实例,它们之间没有任何关系。
相反,您可以使 loginConnect
成为一个实例变量并从您的主类中引用它,例如...
public class ...
private loginConnect loginConnectObject;
public ... {
//...
loginConnectObject = new loginConnect();
add(loginConnectObject);
//...
Button btnLogin = new JButton("Login");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
loginConnectObject.verifyDetails();
}
});
//...
您可能还想阅读 Naming conventions for the Java Language ,因为这将使您的代码更易于人们阅读...
关于java - 如何使用 getText() 从不同类的字段中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21819628/