编写一个 JFrame 窗口,窗口包含一个菜单栏和一个 JLabel 标签。 菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个菜单项。

编写一个 JFrame 窗口,要求如下:

  1. 窗口包含一个菜单栏和一个 JLabel 标签。
  2. 菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个菜单项。
  3. JLabel 标签放置在窗口的中间(即 BorderLayout.CENTER),当点击菜单项的时候,菜单项中的文本显示的 JLabel 标签中。
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class MyMenu extends JFrame implements ActionListener {
    JLabel label = new JLabel("请选择菜单", JLabel.CENTER);
    JMenuItem aaMenuItem;
    JMenuItem baMenuItem;

    MyMenu() {
        JMenuBar menuBar = new JMenuBar();
        JMenu aMenu = new JMenu("菜单A");
        JMenu bMenu = new JMenu("菜单B");
        JMenuItem aaMenuItem = new JMenuItem("菜单项 AA");
        JMenuItem abMenuItem = new JMenuItem("菜单项 AB");
        JMenuItem baMenuItem = new JMenuItem("菜单项 BA");
        menuBar.add(aMenu);
        menuBar.add(bMenu);
        aMenu.add(aaMenuItem);
        aMenu.addSeparator();
        aMenu.add(abMenuItem);
        bMenu.add(baMenuItem);
        aaMenuItem.addActionListener(this);
        abMenuItem.addActionListener(this);
        baMenuItem.addActionListener(this);
        setJMenuBar(menuBar);
        getContentPane().add(label, BorderLayout.CENTER);
    }

    public void actionPerformed(ActionEvent e) {
        JMenuItem source = (JMenuItem) (e.getSource());
        label.setText("选择了菜单:" + source.getText());
        label.setHorizontalAlignment(JLabel.CENTER);
    }

    public static void main(String[] args) {
        JFrame frame = new MyMenu();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
    }
}

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值