java 窗体上右击鼠标产生菜单_Java创建窗体中的弹出菜单一例

这篇博客展示了如何在Java中创建一个窗体,并在窗体上实现右击鼠标时弹出菜单的功能。通过一个名为`MenuDemo`的`JApplet`实例,文章详细解释了如何定义`JPopupMenu`,添加`ActionListener`,并将菜单项连接到不同的菜单,同时将弹出菜单事件集成到鼠标事件处理中。
摘要由CSDN通过智能技术生成

时间:2019-08-22

概述:窗体菜单 弹出菜单

Java创建窗体上的弹出菜单的例子,制作一个窗口菜单的例子,几乎每一个 Java小程序的窗口中都离不开菜单,本代码简洁,且注释丰富,是学习Java窗体设计方面的好范例。本代码可制作一个弹出菜单,演示如何将菜单添加到控制栏中,如何为弹出式菜单添加菜单项和监视器,以及如何将弹出菜单事件添加到鼠标事件处理模式中,代码如下所示:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MenuDemo extends JApplet {

JTextField t = new JTextField(15); //建立单行文本域

ActionListener al = new ActionListener(){

public void actionPerformed(ActionEvent e){

t.setText(((JMenuItem)e.getSource()).getText());

}

};

JMenu[] menus = { new JMenu("文件"),

new JMenu("编辑"),

new JMenu("帮助")};

JMenuItem[] items = {

new JMenuItem("新建"), new JMenuItem("撤销"),

new JMenuItem(

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Java菜单项点击后弹出窗口的功能,可以使用JPopupMenu类和JMenuItem类。 首先创建一个JPopupMenu对象,然后将它添加到需要弹出菜单的组件上,比如一个JButton或JPanel对象。 然后创建一个JMenuItem对象,并将它添加到JPopupMenu对象上。为JMenuItem对象添加一个ActionListener监听器,当用户点击菜单项时,弹出一个新的窗口。 下面是一个示例代码: ``` import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MenuExample extends JFrame { private JPopupMenu popupMenu; public MenuExample() { // 创建一个JPanel对象,作为菜单弹出的组件 JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(200, 200)); // 创建一个JButton对象,并将popupMenu添加到它上面 JButton button = new JButton("弹出菜单"); popupMenu = new JPopupMenu(); button.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) { popupMenu.show(e.getComponent(), e.getX(), e.getY()); } } public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { popupMenu.show(e.getComponent(), e.getX(), e.getY()); } } }); // 创建一个JMenuItem对象,并将它添加到popupMenu上 JMenuItem menuItem = new JMenuItem("打开窗口"); popupMenu.add(menuItem); menuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 弹出一个新的窗口 JFrame frame = new JFrame("新窗口"); frame.setPreferredSize(new Dimension(200, 200)); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.pack(); frame.setVisible(true); } }); // 将button和panel添加到窗口上 add(button, BorderLayout.NORTH); add(panel, BorderLayout.CENTER); pack(); setVisible(true); } public static void main(String[] args) { new MenuExample(); } } ``` 运行这个示例程序,当用户点击“打开窗口”菜单项时,就会弹出一个新的窗口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值