这可能是一个非常简单的问题,但我无法弄清楚如何去做。
我有一个带有侦听器的GUI类,它从组合框和滑块中获取变量。我需要它将这些变量传递给另一个类中的方法,该类将在该类中的对象上运行。
我该怎么做?
答案 0 :(得分:4)
有两种常见的方法。通常用于对话框的简单值使得所选值(例如组合框选择)可用于其他类,第二个允许其他类在您的对象上注册以接收更新通知。
第一种方法
private String currentSelection
)。这是由您已经实现的侦听器完成的。 String getSelection()
getSelection()
方法如果您为用户提供输入某些值的对话框,则可以使用此选项。文件选择器对话框是一个典型的例子。如果您需要“实时”访问当前选择,请使用:
第二种方法
这个模式有点过于复杂,不能一步一步地详细解释,但是如果您感兴趣并且真正需要实时访问更改,那么就会有很多文档和示例。
答案 1 :(得分:1)
一个简单的数据类(理想情况下是一个接口,最小化耦合)应该可以解决问题。或者,如果数据成员名称等在运行时发生变化,则java.util.Map
可能是合适的。
答案 2 :(得分:1)
您可以使用Java的Observer并在状态发生变化时传递任何对象作为参数。
答案 3 :(得分:0)
使用参数。
otherObject.doStuff(comboBoxValue, slider1Value, slider2Value);
您要调用的方法必须声明为接受您要传递的参数数量:
class OtherObject {
...
void doStuff(int value1, int value2, int value3);
}