首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

swing JPopupMenu 单击按钮弹出 例子上载

2012-10-24 
swing JPopupMenu 单击按钮弹出 例子下载swing JPopupMenu 单击按钮弹出 例子下载 import java.awt.Border

swing JPopupMenu 单击按钮弹出 例子下载
swing JPopupMenu 单击按钮弹出 例子下载

import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JPopupMenu;import javax.swing.SwingUtilities;import javax.swing.UIManager;public class Main {  public static void main(String[] argv) throws Exception {    final JPopupMenu menu = new JPopupMenu();    JMenuItem item = new JMenuItem("Item Label");        menu.add(item);    final JButton component = new JButton("button");    component.addMouseListener(new MouseAdapter() {      public void mousePressed(MouseEvent e) {        if (SwingUtilities.isLeftMouseButton(e)) {          menu.show(e.getComponent(), Math.round(component.getAlignmentX()) - 15,             Math.round(component.getAlignmentY()) + 20);        }      }      public void mouseReleased(MouseEvent evt) {        if (evt.isPopupTrigger()) {          //menu.show(evt.getComponent(), evt.getX(), evt.getY());        }      }    });    SwingUtilities.invokeLater(new Runnable() {      public void run() {        try {          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());        } catch (Exception e) {          e.printStackTrace();        }        JFrame frame = new JFrame("测试");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        frame.setSize(new Dimension(800, 600));        frame.setLocationRelativeTo(null);        final JPanel mainPanel = new JPanel(new BorderLayout());        JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0));        topPanel.add(component);        mainPanel.add(topPanel, BorderLayout.NORTH);        frame.getContentPane().setLayout(new BorderLayout());        frame.getContentPane().add(mainPanel);        frame.setVisible(true);      }    });  }}

热点排行