我想要一个java gui事件,在激活时,调用一个类进行处理。我遇到了一个问题,因为我需要使用在代码中先前创建的对象“Settings”,并将其用于程序的其余部分。基本上,当textfield和press中的类型输入时,此事件将启动并调用类来处理用户的输入。我查看了其他论坛的答案,他们的解决方案涉及创建“新”对象,这不是我想要做的。 Display.TaskInput需要“设置”对象才能工作。这是事件:
public class event implements ActionListener {
public void actionPerformed(ActionEvent e) {
//The text below calls a task that needs to use the settings object
//This object presets the task object for easier user input.
//Yes, this is wrong, but you can see what I am trying to do.
Display.TaskInput(settings);
//The rest of this is just for testing. It works when the above line
//is removed.
label.setText("This worked also");
label2.setText("This worked also");
panel1.add(label2);
add(panel1);
panel1.setVisible(true);
}
}
这是创建设置对象的位置。它由数据库预设。当用户输入任务时,任务将准备好几个预设,这样用户就不必手动输入它们。这是该计划的开始:
public static void main(String[] args) {
//object is created and loaded with data
Settings settings = new Settings();
DatabaseConnectSettingsSelect.Connect(settings);
//this is where the gui is initiated.
FrameStart.main(args);
//Once the gui starts working, this class will become unnecessary
Display.StartScreen(settings);
}
这是GUI类FrameStart中的主要内容:
public static void main(String[] args) {
FrameStart ex = new FrameStart();
ex.setVisible(true);
}
如果我不需要使用预制物品,一切都会好的。大多数解决方案都可以解决这个问题,但我需要导入在另一个类中创建的对象。如果您需要更多代码来查看,我乐意提供它;这就是我遇到的问题领域。
总而言之,我需要将已创建的对象放入事件类或直接放入TaskInput类。有没有比我正在做的更好的方式?这个程序有大约15个类,我目前的工作方式运行良好,只是我不知道如何将创建的对象放入ActionEvent代码中。我再一次看了其他论坛的答案,他们的解决方案涉及创建“新”对象,这不是我想要做的。