【问题标题】:How do I pass the values from one class to another?如何将值从一个类传递到另一个类?
【发布时间】:2013-03-16 16:18:05
【问题描述】:

我有这个 gui 弹出面板,它需要填写数据包号、距离等信息。一旦用户填写信息,他将单击确定,gui 将关闭,我的其他具有计算方法的 gui 类应该接收之前填写的所有数据。我如何存储这些数据?我知道我可以存储在临时文件中,但我不想这样做。我希望你能启发我。

【问题讨论】:

  • 这个非常基本的东西;将数据从一个类的实例传递到另一个类是极其微不足道的。到目前为止,您尝试过什么?
  • 我尝试使用 getter setter 方法存储在其他类中,但是在 gui 关闭后,当我从主 gui 调用数据时数据消失。 ————

标签: java user-interface store


【解决方案1】:

您应该创建一个代表数据的中间类。

填写完 GUI 并单击提交按钮后,解析数据并填写类中的字段。

例如:

public class MyData {
    public String Name;
    public String Address;
}

然后,在你的计算方法中触发一个将这个类作为参数的方法:

公共无效计算(我的数据数据){ ... }

要进行更高级的处理,请查看 Java 中的“接口”——这是完成此操作的标准方式。

【讨论】:

  • 问题是如果用户从不点击计算按钮,计算将不会发生。我尝试使用 getter setter 方法存储在其他类中,但是在 gui 关闭后,当我从主 gui 调用数据时数据消失。 ——
【解决方案2】:
import java.awt.*;
import java.applet.Applet;

class Example extends Applet implements ActionListener
{
    TextField txt = new TextField(10);
    Button goButton = new Button("Go");
    String data = new String ();

    public void init ()
    {
        add(txt);
        add(goButton);
        goButton.addActionListener(this);
    }

    public void actionPerformed (ActionEvent e)
    {
        String cmd = e.getActionCommand();

        if (cmd.equals("Go"))
        {
            // preserve data
            data = txt.getText();

            repaint();
        }
    }
}

【讨论】:

    猜你喜欢
    • 2011-08-26
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多