19.菜单
效果:


package com.lvshitech.gui;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class JMenuDemo extends JFrame implements ActionListener {
JLabel jl = new JLabel("请选择菜单:", JLabel.CENTER);
JMenuItem aaMenuItem, baMenuItem;
public JMenuDemo() {
super("使用JMenu");
Container container = getContentPane();
// 创建MenuBar
JMenuBar aMenuBar = new JMenuBar();
Icon appleIcon = new ImageIcon("images/apple.jpg");
Icon bananaIcon = new ImageIcon("images/banana.jpg");
Icon catIcon = new ImageIcon("images/cat.jpg");
Icon dogIcon = new ImageIcon("images/dog.jpg");
// 创建Menu
JMenu aMenu = new JMenu("水果");
JMenu bMenu = new JMenu("动物");
aMenu.addSeparator();
// 创建Menu子菜单
JMenuItem aaMenuItem = new JMenuItem("苹果", appleIcon);
JMenuItem abMenuItem = new JMenuItem("香蕉", bananaIcon);
JMenuItem baMenuItem = new JMenuItem("小猫", catIcon);
JMenuItem bbMenuItem = new JMenuItem("小狗", dogIcon);
// 各子菜单项的触发事件
aaMenuItem.addActionListener(this);
abMenuItem.addActionListener(this);
baMenuItem.addActionListener(this);
bbMenuItem.addActionListener(this);
// 添加到Menu
aMenu.add(aaMenuItem);
aMenu.add(abMenuItem);
bMenu.add(baMenuItem);
bMenu.add(bbMenuItem);
// 整体添加到MenuBar
aMenuBar.add(aMenu);
aMenuBar.add(bMenu);
aMenuBar.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
jl.setBorder(BorderFactory.createEmptyBorder(20, 3, 20, 3));
container.add(aMenuBar);
container.add(jl, BorderLayout.SOUTH);
}
// 监听器接口实现
@Override
public void actionPerformed(ActionEvent e) {
JMenuItem item = (JMenuItem) e.getSource();
jl.setText("选择了菜单:" + item.getText());
jl.setHorizontalAlignment(JLabel.CENTER);
}
public static void main(String[] args) {
JFrame frame = new JMenuDemo();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}

浙公网安备 33010602011771号