Лови примерчик:
| Код | import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class My extends JFrame { JTree m_tree = null; JPopupMenu m_popup = null;
public My() { getContentPane().setLayout(new BorderLayout()); m_tree = new JTree();
m_popup = new JPopupMenu(); m_popup.add(new AbstractAction("Start") { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "Start"); } }); m_popup.add(new AbstractAction("Stop") { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "Stop"); } }); m_popup.add(new AbstractAction("Pause") { public void actionPerformed(ActionEvent e) { String s = JOptionPane.showInputDialog(null, "Pause"); if(s==null) System.out.println("Cancel pressed"); } }); m_tree.add(m_popup); m_tree.addMouseListener(new PopupTrigger()); getContentPane().add(new JScrollPane(m_tree)); setBounds(100,100,200,300); }
class PopupTrigger extends MouseAdapter { public void mouseReleased(MouseEvent e) { if(e.isPopupTrigger()) { int x = e.getX(); int y = e.getY(); m_popup.show(m_tree, x, y); } } }
public static void main(String[] args) { My my = new My(); my.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); my.setVisible(true); } }
| |