java menu 菜单弹出窗体_java点击菜单项弹出窗口怎么弄
时间: 2023-07-19 10:45:21 浏览: 47
要实现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();
}
}
```
运行这个示例程序,当用户点击“打开窗口”菜单项时,就会弹出一个新的窗口。