`
a1520708
  • 浏览: 27013 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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);
      }
    });
  }
}
分享到:
评论

相关推荐

    java swing-JPopupMenu的使用

    JPopupMenu 是 Java Swing 库提供的一个弹出菜单组件,它可以在用户触发事件时显示一个菜单,并允许用户选择其中的选项。

    Swing组件下载(常用组件)

    Swing组件(javax.swing.-) ...弹出式菜单:JPopupMenu 分隔符:JSeparator 对话框:JDialog 帧:JFrame 颜色选择器:JColorChooser 文件选择器:JFileChooser 选项窗格:JOptionPane 补充: 状态栏:StatusBar

    Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例

    主要介绍了Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例,需要的朋友可以参考下

    swing所有帮助文档

    swing所有帮助文档 Swing 菜单由 JMenubar、JMenuitem 和 JMenu 组成 创建 JMenuBar 的实例可生成菜单。 JPopupMenu 可显示在屏幕的任何地方 JCheckBoxMenuItem 和 JRadioButtonMenuItem 用于实现菜单栏中的复选框...

    swing系统托盘示例

    NULL 博文链接:https://xhmder.iteye.com/blog/847000

    java swing综合程序

    一步一步地实现菜单栏(JMenuBar)工具栏(JPopupMenu)组合框(JComboBox)复选框(JCheckBox)单选按钮(JRadioButton)文本域的综合应用(三) 源程序

    java实现系统托盘

    java实现系统托盘,像QQ托盘图标!在托盘处点击退出才退出程序。

    Java实现窗体右键菜单.rar

     super( "右键弹出菜单" ); //调用父类构造函数  ChangeColorAction action = new ChangeColorAction(); //菜单项事件处理  String[] str = {"Blue","Pink","Yellow","Red","Orange"}; //菜单项名称  ...

    javaSE代码实例

    1.2.1 下载JDK 5 1.2.2 安装JDK 6 1.2.3 安装后Java目录的解读 7 1.3 学会使用API 7 1.4 第一个Java程序 8 1.4.1 开发源代码 8 1.4.2 编译运行 9 1.5 小结 11 第2章 基本数据类型——构建Java ...

    基于JAVA的记事本设计报告.doc

    " "(3)、弹出菜单(鼠标右击):应用类JpopupMenu创建一个弹出菜单的实例pm," "并将菜单项itemcopy1,itemcut1,itempaste1,itemqx1依次添加到弹出菜单。 " "(四)、代码分析 " "总体结构概述:程序包括一个公共类...

    糗事百科的精简版客户端

    糗事百科的精简版客户端 有TimerTask JFame JPopupMenu JScrollPane JOptionPane的用法. UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");是启动本地外观

    用java编写的记事本,基本功能都实现了啊!

    import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.KeyStroke; import javax.swing.ScrollPaneConstants; import javax.swing.SwingConstants; ...

    旅店管理系统界面-手工书写

    import javax.swing.JPopupMenu; import javax.swing.JRadioButton; import javax.swing.JTextField; public class MyButton extends JButton implements MouseListener, ActionListener { private static final ...

    小型简单的记事本程序

    //弹出菜单声明 JMenu m1,m2,m3,m4,m5,m6; //各菜单项 JMenuItem m61,m62,m26,m271,m34,m51,m52,m53,m54,p_copy,p_cut,p_paste,p_del; int startp,endp,nexttemp,newstartp,newendp; //查找替换时所用的临时变量...

    经典java小程序源代码合集.zip

    JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem[] command = new JMenuItem[4]; String[] command_str={"囱", "郎", "弄郎", "秨"}; int[][] dir = { {-1, -1}, {-1, 0}...

    在JTable上添加右键菜单

    实现JLabel右键进行响应的操作,摆脱按钮响应,大幅度提高界面的美观

    仿windows的记事本java基本实现

    private JPopupMenu pmenus = new JPopupMenu(); private JMenuItem[] popupMenu = { new JMenuItem("撤销(U) "), new JMenuItem("剪切(T) "), new JMenuItem("复制(C) "), new JMenuItem("黏贴(P) "), ...

    java五子棋源码

    JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem[] command = new JMenuItem[4]; String[] command_str={"囱", "郎", "弄郎", "秨"}; int[][] dir = { {-1, -1}, {-1, 0}, {-...

    JAVA编程计算器和记事本.rar

    //弹出菜单 popupmenu =new JPopupMenu(); menuItem =new JMenuItem("新建",KeyEvent.VK_N); menuItem.addActionListener(al); popupmenu.add(menuItem); popupmenu.add(new JSeparator()); menuItem =...

Global site tag (gtag.js) - Google Analytics