我构造了一个 GameFrame 类,它有一个带有 a 的 JFrame, jmenubar
并在菜单中添加了一些项目。出于 OOP 的原因,我将 actionlistener 类(实现我自己的并将其作为参数传递给框架 jmenubar)从 GameFrame 中分离出来。
问题是,当其中一个JmenuItems
被选中时,它应该启动一个对话,要求用户输入一个 URL。但是只有在选择菜单项时才会创建此对话框,所以我该如何避免执行以下操作?(这不是很 OOP)
@Override
public void actionPerformed(ActionEvent e) {
JMenuItem item = (JMenuItem) e.getSource();
if (item.getText().equals("URL")) {
//create a dialogue
//get the input
//pass it to something else
}
}
我想避免在我的事件处理程序类中创建摆动组件并避免在我的组件类中使用事件处理程序,但我看不出有什么办法。