菜单使用
来源:互联网 发布:域名服务器ip地址 编辑:程序博客网 时间:2024/05/21 04:41
1) 右键弹出式菜单
privateJPopupMenu popMenu=new JPopupMenu();
privateJMenuItem pop1,pop2,pop3;
//定义监听器
PopMenuActionListenerlistener=new PopMenuActionListener();
//建菜单项,并添加监听器
pop1=new JMenuItem("灰色");
pop1.addActionListener(listener);
pop2=new JMenuItem("青色");
pop2.addActionListener(listener);
pop3=new JMenuItem("黄色");
pop3.addActionListener(listener);
//将菜单项加入到右键快捷菜单
popMenu.add(pop1);
popMenu.add(pop2);
popMenu.add(pop3);
//此类继承自JFrame,加上弹出菜单
this.add(popMenu);
this.enableEvents(AWTEvent.MOUSE_EVENT_MASK);
最后一句是让它能响应鼠标事件。
//响应鼠标事件
public voidprocessMouseEvent(MouseEvent e){
if (e.isPopupTrigger())
popMenu.show(e.getComponent(),e.getX(),e.getY());
}
监听器类就是实现ActionListener接口,判断事件源是那个,做对应动作。
class PopMenuActionListenerimplements ActionListener{
public voidactionPerformed(ActionEvent e) {
Object source=e.getSource();
if(source==pop1){
tf.setBackground(Color.GRAY);
}else if(source==pop2){
tf.setBackground(Color.CYAN);
}else if(source==pop3){
tf.setBackground(Color.YELLOW);
}
}
}
2) 菜单栏
JMenuBarbar=new JMenuBar();
JMenu menu2=new JMenu("字号");
final JCheckBoxMenuItem sz1=new JCheckBoxMenuItem("10"),
sz2=new JCheckBoxMenuItem("15");
ItemListenermyMenuListener=new ItemListener(){
int size=tf.getFont().getSize();
public voiditemStateChanged(ItemEvent e) {
ItemSelectableitem=e.getItemSelectable();
if(item==sz1){
size=Integer.parseInt(sz1.getText());
sz2.setSelected(false);
}else if(item==sz2){
size=Integer.parseInt(sz2.getText());
sz1.setSelected(false);
}
tf.setFont(new Font(type,Font.PLAIN,size));
tf.setForeground(color);
}
};
sz1.addItemListener(myMenuListener);
sz2.addItemListener(myMenuListener);
menu2.add(sz1);
menu2.add(sz2);
bar.add(menu2);
this.setJMenuBar(bar);
总结一下,先定义菜单栏JMenuBar,然后定义菜单JMenu,然后定义菜单项,这里有多个选择,上面的是JCheckBoxMenuItem,这个和CheckBox一样可以多个同时选中,当然真实情况,字体大小是不适合用这个的。然后定义一个监听器,各菜单项添加监听器,菜单添加菜单项,菜单栏添加菜单。
3) 关于快捷键
JCheckBoxMenuItem类仍可以调用sz1.setMnemonic('A');来设置快捷键。这样当点击它所在菜单将它弹出后,按A(输入法是英文时)或Alt+A便可。
final JMenuItem fc3=new JMenuItem("蓝色",'B');
这个直接指定了快捷键,为它fc3.addActionListener(listener);同上,当点击它所在菜单将它弹出后,按B(输入法是英文时)或Alt+B便可。
- 使用菜单
- 菜单使用
- 菜单,菜单条,菜单项的使用
- 菜单使用简介
- 选择菜单的使用
- 系统菜单使用
- MFC菜单的使用
- Android菜单的使用
- python_wxPython菜单的使用
- 使用xml布局菜单
- 使用XML生成菜单
- opengl菜单的使用
- 使用上下文菜单ContextMenu
- 菜单使用详解0
- 菜单使用详解1
- 使用XML生成菜单
- 使用菜单资源
- WPF使用menu菜单
- php session学习笔记
- 我的“mtp 该设备无法启动 代码 10”的不法之法..
- Java继承和多态
- mac Sublime Text 2 破解
- android BitmapFactory.Options 优化bitmap图像
- 菜单使用
- Linux中用C语言写系统日志
- 其实Unix很简单
- 虚函数和类的多态性
- 快速排序详解
- Decoding Java.Lang.OutOfMemoryError: PermGen Space
- 一些破事儿
- linux基础命令和知识(二)
- 五种常见的php设计模式