回 帖 发 新 帖 刷新版面

主题:制作弹出菜单,应该用那个方法?

制作了一个菜单,要求有菜单menu有弹出功能、就像平时大家用的软件菜单栏有帮助和关于的那种、、

回复列表 (共2个回复)

沙发

用 JDialog 。

//以下代码清单会产生一个“关于对话框”,仅供参考。

import javax.swing.*;
import java.awt.event.*;

class Demo extends JFrame implements ActionListener
{
    private JMenuItem mi = new JMenuItem("关于");
    private JDialog dia = new JDialog(this,"关于",true,null);
    private JButton but = new JButton ("确定");
    public Demo()
    {
        super("关于");
        JLabel lab = new JLabel("ABCDEFG");
        dia.add(lab,"North");
        lab.setHorizontalAlignment(JLabel.CENTER);
        JTextArea ta = new JTextArea("1234567890");
        JScrollPane sp = new JScrollPane(ta);
        JPanel pan = new JPanel();
        pan.add(but);
        dia.add(sp);
        ta.setEditable(false);
        dia.add(pan,"South");
        dia.setSize(300,200);
        dia.setLocationRelativeTo(null);
        but.addActionListener(this);
        
        JMenuBar mb = new JMenuBar();
        JMenu m = new JMenu("菜单");
        mb.add(m);m.add(mi);
        mi.addActionListener(this);
        this.setJMenuBar(mb);
        this.setSize(400,300);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    
    public static void main(String[]args)
    {
        new Demo();
    }
    
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==mi)
        {
            dia.setVisible(true);
        }
        if(e.getSource()==but)
        {
            dia.setVisible(false);
        }
    }
}

板凳

JPopupMenu
这个可以做弹出式菜单
在单击右键后弹出

我来回复

您尚未登录,请登录后再回复。点此登录或注册