Popupメニュー
●Popup
JPopupMenuクラスを使ってポップアップメニューを作成した場合、コンストラクタで作成するだけでは表示されません。
ポップアップメニューを表示させるにはJPopupMenuクラスで用意されている「show」メソッドを使います。
●サンプル
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class JPopupMenuTest extends JFrame implements ActionListener, MouseListener {
JPopupMenu popup = new JPopupMenu(); //パネル
JPopupMenuTest() {
JMenuItem menuA = new JMenuItem("menuA"); //ボタン生成
JMenuItem menuB = new JMenuItem("menuB"); //ボタン生成
menuA.addActionListener(this); //ボタン押下
menuB.addActionListener(this); //ボタン押下
popup.add(menuA); //パネルにボタン配置
popup.add(menuB); //パネルにボタン配置
getContentPane().addMouseListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //フレームを閉じるボタン
setTitle("JPopupMenuTest");
setSize(200, 100);
setVisible(true);
}
public void actionPerformed(ActionEvent e) { //ボタン押下時
System.out.println(e.getActionCommand());
}
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public static void main(String[] args) {
new JPopupMenuTest();
}
}
●実行結果

