Java:跨类传递变量

Java:跨类传递变量,java,variables,Java,Variables,这可能是一个非常简单的问题,但我不知道怎么做 我有一个GUI类和一个侦听器,它从组合框和滑块中获取变量。我需要它将这些变量传递给另一个类中的方法,该类将在该类中的对象上运行 如何做到这一点?一个简单的数据类(理想情况下,前面有一个接口,以尽量减少耦合)应该可以做到这一点。或者,如果数据成员名称等在运行时发生变化,则可以使用java.util.Map。当状态发生变化时,可以使用java并传递任何对象作为参数。有两种常用方法。简单的一个通常用于对话框,使所选值(例如,组合框选择)可用于其他类,第二个

这可能是一个非常简单的问题,但我不知道怎么做

我有一个GUI类和一个侦听器,它从组合框和滑块中获取变量。我需要它将这些变量传递给另一个类中的方法,该类将在该类中的对象上运行


如何做到这一点?

一个简单的数据类(理想情况下,前面有一个接口,以尽量减少耦合)应该可以做到这一点。或者,如果数据成员名称等在运行时发生变化,则可以使用
java.util.Map

当状态发生变化时,可以使用java并传递任何对象作为参数。

有两种常用方法。简单的一个通常用于对话框,使所选值(例如,组合框选择)可用于其他类,第二个允许其他类在对象上注册以接收更新通知

第一种方法

  • 将GUI元素的实际选择存储在(私有)成员变量中(如:
    private String currentSelection
    )。这是由您已经实现的侦听器完成的
  • 实现类似
    String getSelection()的方法
  • 对话框完成后(如有人按下OK按钮),只需调用
    getSelection()
    方法即可获取值
  • 如果您提供一个对话框供用户输入某些值,则可以使用此对话框。文件选择器对话框就是一个典型的例子。如果需要“实时”访问当前选择,请使用:

    第二种方法

  • 实现观察者模式(侦听器类,最终是事件类)
  • 该模式有点太复杂,无法一步一步地详细解释,但如果您感兴趣并且确实需要实时访问更改,则有大量文档和示例。

    使用参数

    otherObject.doStuff(comboBoxValue, slider1Value, slider2Value);
    
    必须声明要调用的方法以接受要传递的参数数:

    class OtherObject {
        ...
        void doStuff(int value1, int value2, int value3);
    }
    
    什么是“另一个类中运行在该类中的对象上的方法”?