を含む JFrame を持つ GameFrame クラスを構築し 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
}
}
イベント ハンドラ クラス内でのスイング コンポーネントの作成と、コンポーネント クラス内でのイベント ハンドラの作成を回避したいのですが、それを回避する方法がありません。