JunkUtil (1.1.0) | 2012-04-29 13:38 |
JunkUtil安定版 (1.1.0) | 2012-04-29 13:45 |
addMenuメソッドでは、あたかもファイルパスを指定するようにメニューを追加できます。
書式は、"Foo(F)/Bar(B)/Hoge(H),Ctrl+H"という感じで指定します。
コールバックはリフレクションで呼び出されますので、あらかじめ
public void doHoge(ActionEvent e) { //メソッド名は何でもいいのように定義しておく必要があります。
/** * (publicで、かつ、ActioinEventを引数に取る)コールバック関数 * @param e */ public void callback1(ActionEvent e) { JOptionPane.showMessageDialog(frame, "コールバックされました!"); } test() { LzMenu menu = new LzMenu(); menu.addMenu("ファイル(F)/メッセージ(M),Ctrl+M", new AbstractAction() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(frame, "メッセージです!"); } }); menu.addMenu("ファイル(F)/ダイアログ(D),Ctrl+D", new AbstractAction() { public void actionPerformed(ActionEvent e) { dialog.setVisible(true); dialog.setEscapeToDispose(true); } }); menu.addMenu("ファイル(F)/コールバック(C),Ctrl+C", new LzCallback(this, "callback1")); menu.addMenu("ファイル(F)/-"); //区切り線 menu.addMenu("ファイル(F)/終了(Q),Ctrl+Q", new AbstractAction() { public void actionPerformed(ActionEvent e) { frame.setVisible(false); System.exit(0); } }); frame.setJMenuBar(menu.getMenuBar()); //中略 }