`
a1520708
  • 浏览: 28274 次
  • 性别: 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);
      }
    });
  }
}
分享到:
评论

相关推荐

    Swing 弹出式菜单用法

    JPopupMenu 是 Swing 中的一个控件,用于创建弹出式菜单。弹出式菜单只有在用户执行了与平台相关的鼠标操作后才能出现。例如,在一个支持弹出式菜单的控件上用鼠标右键单击,在鼠标所在处将弹出快捷菜单。 一个简单...

    java swing 菜单按钮

    除了菜单栏,Swing还提供了`JPopupMenu`类,它可以用于创建弹出式菜单,常用于右键点击或按钮的上下文菜单。创建弹出式菜单并关联到组件: ```java JPopupMenu popup = new JPopupMenu(); JMenuItem copyItem = new...

    java swing-JPopupMenu的使用

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

    swing鼠标右键功能实现

    这个例子也使用`MouseListener`监听鼠标事件,但使用`mouseReleased`方法,因为对于Swing组件,右键释放会触发弹出菜单。 ```java addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e...

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

    本文将详细讲解如何使用下拉式菜单(menu)、弹出式菜单(JPopupMenu)以及选项卡窗体(JTabbedPane)。 首先,我们来看下拉式菜单的创建。下拉式菜单在Java Swing中通常与菜单栏(MenuBar)一起使用。创建下拉式...

    Java弹出菜单,为JTextArea添加了右键弹出式菜单,实现了复制、粘贴、剪切

    Java 弹出菜单可以用于各种类型的组件,例如按钮、文本框、列表框等。 二、JTextArea 和 MouseListener 在我们的示例代码中,我们使用了 JTextArea 组件来显示文本,并使用 MouseListener 来捕获用户的右键点击...

    Swing组件下载(常用组件)

    25. JPopupMenu: 创建弹出式菜单,常用于右键点击操作。 26. JDialog: 创建对话框,用于显示警告、询问或设置信息,可独立或依附于其他窗口。 27. JColorChooser, JFileChooser: 分别用于选择颜色和打开或保存文件...

    javaftpclient.zip_Java FTP上传_swing 上传_swing上传下载_swing文件上传

    Java FTP客户端是一个基于Swing图形用户界面(GUI)的应用程序,用于实现文件的上传和下载功能。这个项目的核心是利用Java的FTP库来与FTP服务器进行通信,Swing则提供了友好的用户交互界面。在本项目中,用户可以...

    弹出菜单实例,点右键弹出菜单

    3. Java:在Java Swing中,JPopupMenu类用于创建弹出菜单。可以将JMenuItem添加到JPopupMenu,然后通过show方法显示菜单。 4. Python(tkinter):Python的tkinter库提供了Menu类,可以创建一个菜单对象,然后使用...

    精通Java Swing程序设计(中文CHM)

    - JPopupMenu:弹出菜单,常用于右键点击操作。 - JToolBar:工具栏,可放置常用操作按钮。 - JProgressBar和JSpinner:进度条和数值选择器,提供用户反馈。 6. **Swing外观(LookAndFeel)** - Swing支持不同...

    基于java的右键弹出菜单源码.zip

    首先,右键弹出菜单在Java中通常通过`javax.swing.JPopupMenu`类来创建。`JPopupMenu`是一个可弹出的组件,它可以关联到其他组件上,当该组件被右键点击时显示出来。例如,你可以这样创建一个基本的`JPopupMenu`: ...

    用swing实现的mediaplayer

    开发者会添加一个JButton,当点击该按钮时,弹出JFileChooser,让用户选择媒体文件路径。 除此之外,mediaplayer可能还需要使用到其他的Swing组件,如JMenuBar和JMenuItem来创建菜单栏,提供打开、关闭、设置等高级...

    java 菜单,右键弹出菜单,工具条的样例

    本示例着重讲解如何使用Java Swing构建菜单、右键弹出菜单(popup menu)以及工具条(toolbar)。这是一个基于Maven的项目,可以方便地导入到Eclipse IDE中进行开发和调试。 首先,我们需要了解Java Swing中的菜单...

    菜单及Swing组件

    创建弹出式菜单通常包括创建`JPopupMenu`实例,添加` JMenuItem`,然后在需要触发的地方绑定该菜单。例如,可以将弹出式菜单添加到`JComponent`上,通过`addMouseListener()`监听鼠标事件,然后在右键点击时显示菜单...

    java事件 弹出菜单事件 实例代码

    弹出菜单(JPopupMenu)是Java Swing库提供的一种用户友好的组件,它可以在鼠标点击或右键点击时显示一系列选项。 首先,我们要了解Java AWT和Swing事件模型。Java使用事件监听器(Event Listeners)来处理各种用户...

    swing组件介绍(一)

    JDialog用于创建弹出式对话框。 3. **布局管理器**:Swing支持多种布局管理器,如FlowLayout、BorderLayout、GridLayout、BoxLayout和GridBagLayout。布局管理器决定了组件在容器中的排列方式和大小。 4. **事件...

    弹出式菜单的使用PopMenu

    在计算机软件开发中,弹出式菜单(Pop-up Menu或Context Menu)是一种常见的用户界面元素,它可以在用户执行特定操作时动态出现,提供与当前上下文相关的选项。本篇文章将深入探讨弹出式菜单的使用,包括其设计原理...

    Java右键弹出菜单源码

    `JPopupMenu`是 Swing 提供的弹出菜单组件,它可以被关联到一个组件上,当在这个组件上右键单击时显示。以下是一个基本的`JPopupMenu`的创建过程: 1. **创建JPopupMenu对象**: ```java JPopupMenu contextMenu ...

    深入swing 方面的书籍

    Swing组件间的事件处理机制就基于此模式,如按钮点击事件、文本框更改事件等。读者将学习到如何使用EventListener和EventObject来实现事件监听和处理,以及如何通过Observer接口来动态更新视图。 此外,书中还会...

Global site tag (gtag.js) - Google Analytics