写一个java设计实现下拉菜单与弹出式菜单。
时间: 2023-12-16 12:05:48 浏览: 77
好的,下面是一个使用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两个菜单项。
阅读全文