JMenu基本运用

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.AbstractButton;

import javax.swing.ButtonGroup;

import javax.swing.JCheckBoxMenuItem;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JRadioButtonMenuItem;

import javax.swing.JSeparator;

import javax.swing.JTextField;

import com.sun.xml.internal.ws.api.server.Container;

/**

* 菜单事件处理

* @author Administrator

*

*/

public class SwingWinMenus extends JFrame{

public static int WIDTH = 300;

public static int HEIGHT = 300;

public static String TITLE = "SwingWin";

java.awt.Container frameContainer;

JTextField textField = new JTextField(50);

JMenuBar menuBar = new JMenuBar();

JMenu fileMenu = new JMenu("File");

JMenuItem fileNew = new JMenuItem("New");

JMenuItem fileOpen = new JMenuItem("Open");

JMenuItem fileSave = new JMenuItem("Save");

JMenuItem fileExit = new JMenuItem("Exit");

JMenu editMenu = new JMenu("Edit");

JMenuItem editCut = new JMenuItem("Cut");

JMenuItem editCopy = new JMenuItem("Copy");

JMenuItem editPaste = new JMenuItem("Paste");

JMenu specialMenu = new JMenu("Special");

JCheckBoxMenuItem specialCheck1 = new JCheckBoxMenuItem("Check 1");

JCheckBoxMenuItem specialCheck2 = new JCheckBoxMenuItem("Check 2", true);

JSeparator separator = new JSeparator();

JRadioButtonMenuItem specialRadio1 = new JRadioButtonMenuItem("Radio 1");

JRadioButtonMenuItem specialRadio2 = new JRadioButtonMenuItem("Radio 2");

ButtonGroup buttonGroup = new ButtonGroup();

public SwingWinMenus() {

super("");

fileMenu.add(fileNew);

fileMenu.add(fileOpen);

fileMenu.add(fileSave);

fileMenu.add(fileExit);

editMenu.add(editCut);

editMenu.add(editCopy);

editMenu.add(editPaste);

specialMenu.add(specialCheck1);

specialMenu.add(specialCheck2);

specialMenu.add(separator);

buttonGroup.add(specialRadio1);

buttonGroup.add(specialRadio2);

specialMenu.add(specialRadio1);

specialMenu.add(specialRadio2);

menuBar.add(fileMenu);

menuBar.add(editMenu);

menuBar.add(specialMenu);

setJMenuBar(menuBar);

frameContainer = getContentPane();

frameContainer.setLayout(null);

textField.setBounds(100, 100, 100, 20);

frameContainer.add(textField);

setupEventHandlers();

setSize(450, 450);

setVisible(true);

}

void setupEventHandlers() {

addWindowListener(new WindowHandler());

fileNew.addActionListener(new MenuItemHandler());

fileOpen.addActionListener(new MenuItemHandler());

fileSave.addActionListener(new MenuItemHandler());

fileExit.addActionListener(new MenuItemHandler());

editCut.addActionListener(new MenuItemHandler());

editCopy.addActionListener(new MenuItemHandler());

editPaste.addActionListener(new MenuItemHandler());

specialCheck1.addItemListener(new ItemHandler());

specialCheck2.addItemListener(new ItemHandler());

specialRadio1.addItemListener(new ItemHandler());

specialRadio2.addItemListener(new ItemHandler());

}

public static void main(String[] args) {

SwingWinMenus app = new SwingWinMenus();

}

public class WindowHandler extends WindowAdapter {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

}

public class MenuItemHandler implements ActionListener {

public void actionPerformed(ActionEvent e) {

String cmd = e.getActionCommand();

if (cmd.equals("Exit"))

System.exit(0);

else

textField.setText(cmd);

}

}

public class ItemHandler implements ItemListener {

public void itemStateChanged(ItemEvent e) {

AbstractButton button = (AbstractButton) e.getItem();

String label = button.getText();

if (button.isSelected())

label += " true";

else

label += " false";

textField.setText(label);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值