【问题标题】:Java swing save several text field to a objectJava swing 将多个文本字段保存到一个对象
【发布时间】:2016-12-05 15:29:48
【问题描述】:

我对 java swing 很陌生,但我正在创建一个股票管理程序,我现在有我的窗口注册表单,用户可以插入、姓名、地址、用户名、密码等,我在下面有一个按钮来保存所有数据. 我希望能够按下保存按钮并将所有数据保存到新的用户对象,我的问题是如何关联每个文本字段数据,以便它们可以保存到保存按钮中的新对象。 谁能给我一些关于如何做到这一点的指示?

谢谢!

我以这种方式尝试了代码:

private void ButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {

   User obj=new User();
   String userName = UserTextFieldName.getText();
   String userAdress = UserTextFieldAdress.getText();
   String userCitizenID = UserTextFieldCitizenID.getInteger();
   obj.setName(userName);
   obj.setAdress(userAdress);
   obj.setCitizenID(userCitizenID);

   usersArrayList.add(obj);

//这是我会给出正确保存消息并处理注册窗口的情况。

这是一个很好的替代方法吗?我无法让它与 ActionListener 以另一种方式工作......

【问题讨论】:

  • 创建一个名为 UserObject 的类,为要保存的每个文本字段创建 String 成员,然后使用 setter 或在构造函数中将文本字段的值分配给这些成员。
  • 感谢您的回复,但我已经有一个 userObject 类和 setter/constructor,但我仍然不知道如何将所有文本字段数据分配给保存按钮,以便它可以保存一个新的 userObject.. .
  • 将保存按钮注册到ActionListener,并通过实现actionPerformed()来处理按钮点击事件。在actionPerformed() 中,您可以从textfields 中获取值并将其分配给UserObject 的属性。

标签: java swing


【解决方案1】:

您将一个 ActonListener 添加到您的按钮。

类似:

JButton save = new JButton( "Save" );
save.addActionListener( new ActionListener()
{
    @Override
    public void actionPerformed(ActionEvent e)
    }
        UserObject user = new UserObject();
        user.setName( nameTextField.getText() );
        user.setAddress( addressTextField.getText() );
        ...
    }
});

阅读 Swing tutorial 了解 Swing 基础知识。

有以下部分:

  1. How to Use Buttons
  2. How to Write an ActionListener

每个都包含帮助您入门的工作示例。

【讨论】:

  • 这种工作我设法在没有 ActionListener 的情况下做到了,但我现在遇到了文本字段中不是字符串的变量的问题,我无法从中获取文本,有没有其他方法可以获取价值观?
  • @Dan 当然,您需要 ActionListener 是您想要在单击“保存”按钮时文本字段中的数据。文本字段中的所有数据都是一个字符串,所以我不知道你在问什么。
  • 是的,文本字段中的所有数据都是一个字符串,但我有例如电话号码,它是一个 int,我已经解决了它并将电话号码声明为一个字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-21
  • 2021-11-13
  • 2018-02-18
  • 1970-01-01
相关资源
最近更新 更多