//MenuExample.java
//download by http://www.codefans.net
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MenuExample
{
public static void main(String[] args)
{
MenuFrame frame = new MenuFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class MenuFrame extends JFrame
{
public MenuFrame()
{
setTitle("MenuExample");
setSize(WIDTH, HEIGHT);
Container contentPane = getContentPane();
JPanel textPanel=new JPanel();
//创建显示菜单操作的文本区
myTextField = new JTextField("", 20);
textPanel.add(myTextField);
contentPane.add(textPanel);
//创建菜单栏,并将菜单栏加入到框架中
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
//创建菜单及菜单项,并添加快捷键和加速器
//“File”菜单
JMenu fileMenu = new JMenu("File");
//设置菜单的快捷键
fileMenu.setMnemonic('F');
//新建“New”菜单项,并添加共用的事件监听器
newItem = fileMenu.add(new ShowAction("New"));
//设置菜单项的加速器
newItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_N, InputEvent.CTRL_MASK));
//新建“Open”菜单项和监听器
openItem = fileMenu.add(new ShowAction("Open"));
openItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_O, InputEvent.CTRL_MASK));
//增加分隔线
fileMenu.addSeparator();
//新建“Save”菜单项和监听器
saveItem = fileMenu.add(new ShowAction("Save"));
saveItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_S, InputEvent.CTRL_MASK));
//初始设置“Save”菜单项为禁用状态
saveItem.setEnabled(false);
//新建“Close”菜单项和监听器
closeItem = fileMenu.add(new ShowAction("Close"));
closeItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_L, InputEvent.CTRL_MASK));
closeItem.setEnabled(false);
fileMenu.addSeparator();
//新建“Exit”菜单项和监听器
JMenuItem exitItem = new JMenuItem("Exit", 'T');
exitItem.addActionListener(new AbstractAction("Exit")
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
exitItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_T, InputEvent.CTRL_MASK));
fileMenu.add(exitItem);
//“Edit”菜单
JMenu editMenu = new JMenu("Edit");
//设置菜单的快捷键
editMenu.setMnemonic('E');
//新建“Cut”菜单项和监听器
cutItem = new JMenuItem("Cut", 'C');
editMenu.add(cutItem);
//添加事件监听器
cutItem.addActionListener(new ShowAction("Cut"));
cutItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_U, InputEvent.CTRL_MASK));
cutItem.setEnabled(false);
//新建“Copy”菜单项和监听器
copyItem = new JMenuItem("Copy", 'Y');
copyItem.addActionListener(new ShowAction("Copy"));
copyItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_Y, InputEvent.CTRL_MASK));
copyItem.setEnabled(false);
//新建“Paste”菜单项和监听器
pasteItem = new JMenuItem("Paste", 'P');
pasteItem.addActionListener(new ShowAction("Paste"));
pasteItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_P, InputEvent.CTRL_MASK));
pasteItem.setEnabled(false);
editMenu.add(copyItem);
editMenu.add(pasteItem);
//“Search”菜单
JMenu searchMenu = new JMenu("Search");
searchMenu.setMnemonic('S');
//创建单选按钮菜单项“Forward”和“Backward”
ButtonGroup group = new ButtonGroup();
forwardItem = new JRadioButtonMenuItem("Forward");
forwardItem.addActionListener(new ShowAction("Forward"));
forwardItem.setSelected(true);
forwardItem.setEnabled(false);
backwardItem = new JRadioButtonMenuItem("Backward");
backwardItem.addActionListener(new ShowAction("Backward"));
backwardItem.setEnabled(false);
group.add(forwardItem);
group.add(backwardItem);
searchMenu.add(forwardItem);
searchMenu.add(backwardItem);
//"View"菜单
JMenu viewMenu = new JMenu("View");
viewMenu.setMnemonic('V');
//创建子菜单
JMenu optionMenu = new JMenu("Option");
optionMenu.setMnemonic('O');
//创建复选框菜单项“ToolBar”和“Status”
JCheckBoxMenuItem toolItem = new JCheckBoxMenuItem("ToolBar");
JCheckBoxMenuItem statusItem = new JCheckBoxMenuItem("Status");
toolItem.addActionListener(new ShowAction("ToolBar"));
statusItem.addActionListener(new ShowAction("Status"));
//将菜单项添加到子菜单中
optionMenu.add(toolItem);
optionMenu.add(statusItem);
//将子菜单添加到“View”菜单中
viewMenu.add(optionMenu);
//将菜单加入到菜单栏中
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(searchMenu);
menuBar.add(viewMenu);
//弹出式菜单
popup = new JPopupMenu();
//新建弹出式菜单中的“Cut”菜单项和监听器
cutItemPop = new JMenuItem("Cut", 'C');
cutItemPop.addActionListener(new ShowAction("CutPop"));
cutItemPop.setEnabled(false);
//新建弹出式菜单中的“Copy”菜单项和监听器
copyItemPop = new JMenuItem("Copy", 'Y');
copyItemPop.addActionListener(new ShowAction("CopyPop"));
copyItemPop.setEnabled(false);
//新建弹出式菜单中的“Paste”菜单项和监听器
pasteItemPop = new JMenuItem("Paste", 'P');
pasteItemPop.addActionListener(new ShowAction("PastePop"));
pasteItemPop.setEnabled(false);
popup.add(cutItemPop);
popup.add(copyItemPop);
popup.add(pasteItemPop);
//实现弹出式菜单的弹出触发器
getContentPane().addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent event)
{
if (event.isPopupTrigger())
//指定弹出式菜单的父组件以及显示位置
popup.show(event.getComponent(),
event.getX(), event.getY());
}
});
}
//菜单项的共用事件监听器
private class ShowAction extends AbstractAction
{
public ShowAction(String name) { super(name); }
public void actionPerformed(ActionEvent event)
{
//实现菜单项的启用和禁用控制
if (event.getSource() == newItem ||
event.getSource() == openItem)
{
saveItem.setEnabled(true);
closeItem.setEnabled(true);
cutItem.setEnabled(true);
copyItem.setEnabled(true);
pasteItem.setEnabled(true);
forwardItem.setEnabled(true);
backwardItem.setEnabled(true);
cutItemPop.setEnabled(true);
copyItemPop.setEnabled(true);
pasteItemPop.setEnabled(true);
}
if (event.getSource() == closeItem)
{
saveItem.setEnabled(false);
closeItem.setEnabled(false);
cutItem.setEnabled(false);
copyItem.setEnabled(false);
pasteItem.setEnabled(false);
forwardItem.setEnabled(false);
backwardItem.setEnabled(false);
cutItemPop.setEnabled(false);
copyItemPop.setEnabled(false);
pasteItemPop.setEnabled(false);
}
//在文本域中显示菜单选择结果
myTextField.setText(getValue(Action.NAME)+ " selected.");
}
}
public static final int WIDTH = 250;
public static final int HEIGHT = 200;
private JMenuItem newItem;
private JMenuItem openItem;
private JMenuItem closeItem;
private JMenuItem saveItem;
private JMenuItem cutItem;
private JMenuItem copyItem;
private JMenuItem pasteItem;
private JMenuItem cutItemPop;
private JMenuItem copyItemPop;
private JMenuItem pasteItemPop;
private JRadioButtonMenuItem forwardItem;
private JRadioButtonMenuItem backwardItem;
private JPopupMenu popup;
private JTextField myTextField;
}
没有合适的资源?快使用搜索试试~ 我知道了~
Java-pic.zip_java界面设计
共32个文件
java:27个
gif:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 133 浏览量
2022-09-24
17:00:13
上传
评论
收藏 34KB ZIP 举报
温馨提示
Java图形用户界面的设计与实现相关源代码Java图形用户界面的设计与实现相关源代码Java图形用户界面的设计与实现相关源代码
资源推荐
资源详情
资源评论
收起资源包目录
Java-pic.zip (32个子文件)
Java图形用户界面的设计与实现
TextAreaTest
TextAreaTest.java 1KB
MenuExample
MenuExample.java 7KB
DialogExample
DialogExample.java 1KB
FontSet
FontSet.java 938B
ButtonClick
ButtonClick.java 2KB
HelloWorld
HelloWorld.java 827B
MouseDraw
MouseDraw.java 4KB
smile.gif 185B
cry.gif 973B
FlowLayoutTest
FlowLayoutTest.java 1KB
ButtonClick2
ButtonClick2.java 1KB
FirstFrame
FirstFrame.java 536B
BorderLayoutTest
BorderLayoutTest.java 1KB
BorderExample
BorderExample.java 2KB
ListFonts
ListFonts.java 320B
SimpleDraw
SimpleDraw.java 1KB
WindowClosing
WindowClosing.java 658B
FrameSizeSet
icon.gif 185B
FrameSizeSet.java 800B
ListExample
ListExample.java 2KB
SliderExample
SliderExample.java 2KB
ComboBoxExample
ComboBoxExample.java 2KB
RadioButtonExample
RadioButtonExample.java 2KB
ColorRect
ColorRect.java 2KB
Login
login.gif 276B
Login.java 2KB
ImageShow
ImageShow.java 1KB
back.gif 1KB
PasswordFieldTest
PasswordFieldTest.java 2KB
CheckBoxExample
CheckBoxExample.java 2KB
KeyPress
KeyPress.java 2KB
TextFieldTest
TextFieldTest.java 2KB
共 32 条
- 1
资源评论
周楷雯
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功