弹出式菜单(下拉菜单)实现——PopupMenu -

PopupMenu代表弹出式菜单,它会在指定组件上弹出PopupMenu,默认情况下,PopupMenu会显示在该组件的下方或上方。PopupMenu可增加多个菜单项,并可为菜单项增加子菜单。


使用PopupMenu创建菜单的步骤非常简单,只要如下步骤即可。


调用new PopupMenu(Context context,View anchor)创建下拉菜单,anchor代表要激发该弹出菜单的组件。
调用MenuInflater的inflate()方法将菜单资源填充到PopupMenu中。
调用PopupMenu的show()方法显示弹出式菜单。
下面的实例示范了使用PopupMenu的功能和用法。


界面布局文件如下:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_gravity=
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用Swing框架实现下拉菜单弹出式菜单的示例代码: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MenuDemo { private JFrame mainFrame; private JMenuBar menuBar; private JMenu fileMenu; private JMenuItem newItem; private JMenuItem openItem; private JMenuItem saveItem; private JMenuItem exitItem; private JPopupMenu popupMenu; private JMenuItem copyItem; private JMenuItem pasteItem; public MenuDemo() { prepareGUI(); } private void prepareGUI() { // 创建主窗口 mainFrame = new JFrame("Menu Demo"); mainFrame.setSize(400, 300); mainFrame.setLayout(new BorderLayout()); // 创建菜单menuBar = new JMenuBar(); fileMenu = new JMenu("File"); // 创建下拉菜单 newItem = new JMenuItem("New"); openItem = new JMenuItem("Open"); saveItem = new JMenuItem("Save"); exitItem = new JMenuItem("Exit"); // 将菜单项添加到下拉菜单中 fileMenu.add(newItem); fileMenu.add(openItem); fileMenu.add(saveItem); fileMenu.addSeparator(); fileMenu.add(exitItem); // 将下拉菜单添加到菜单栏中 menuBar.add(fileMenu); // 为菜单项添加事件监听器 newItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(mainFrame, "New file created."); } }); openItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(mainFrame, "File opened."); } }); saveItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(mainFrame, "File saved."); } }); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); // 创建弹出式菜单 popupMenu = new JPopupMenu(); copyItem = new JMenuItem("Copy"); pasteItem = new JMenuItem("Paste"); // 将菜单项添加到弹出式菜单popupMenu.add(copyItem); popupMenu.add(pasteItem); // 为组件添加弹出式菜单 mainFrame.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON3) { popupMenu.show(mainFrame, e.getX(), e.getY()); } } }); // 将菜单栏添加到主窗口中 mainFrame.setJMenuBar(menuBar); // 显示主窗口 mainFrame.setVisible(true); } public static void main(String[] args) { MenuDemo menuDemo = new MenuDemo(); } } ``` 上面的代码中,我们创建了一个名为Menu Demo的主窗口,并在其中添加了一个菜单栏和一个弹出式菜单菜单栏中有一个名为File的下拉菜单,包含了New、Open、Save和Exit四个菜单项。当用户点击New、Open和Save菜单项时,会弹出对应的提示框。当用户点击Exit菜单项时,程序会退出。当用户右键单击主窗口时,会弹出弹出式菜单,包含了Copy和Paste两个菜单项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值