- 浏览: 224696 次
- 性别:
- 来自: 淄博
文章分类
- 全部博客 (666)
- java (6)
- android (9)
- 架构 (0)
- android游戏 (13)
- android系统 (14)
- c++ (14)
- 数据库 (10)
- javascript (2)
- 版本控制 (1)
- webservice (1)
- linux (5)
- uml (1)
- android多媒体部分 (16)
- java中的JNI (6)
- HTML5 (5)
- CSS3 (1)
- swing (13)
- 线程并发 (9)
- 分布式 (5)
- 云计算 (1)
- 通信协议 (4)
- xml (4)
- c# (1)
- lucene (0)
- ibatis (0)
- hibernate (3)
- struts1 (3)
- struts2 (4)
- jsf (0)
- spring (5)
- spring for android (0)
- 感悟 (2)
- jpa (1)
- android gis (1)
- jbpm (0)
- java设计模式 (8)
- java web (4)
- EXT js (0)
- node JS (2)
- python (3)
- c (17)
- weblogic (0)
- opencv (1)
最新评论
/**
* 菜单
*
* @time 10:24:50 AM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_MentTest extends Frame {
private static final long serialVersionUID = 1L;
// 默认值
int n = 12;
String ko = "TimesRoman";
Color fColor = Color.red;
TextField textField = new TextField("TimeRoman");
/** ************************************************************* */
// 菜单工具条
MenuBar menuBar = new MenuBar();
// 菜单
Menu fontStyle = new Menu("字型"),//
fontSize = new Menu("字号"),//
fontColor = new Menu("颜色");//
// 菜单内容项
CheckboxMenuItem fStyle1 = new CheckboxMenuItem("TimesRoman"),//
fStyle2 = new CheckboxMenuItem("Courier"),//
fStyle3 = new CheckboxMenuItem("Helvetica"),//
fSize1 = new CheckboxMenuItem("10"),//
fSize2 = new CheckboxMenuItem("15"),//
fSize3 = new CheckboxMenuItem("20"),//
fColor1 = new CheckboxMenuItem("红色"),//
fColor2 = new CheckboxMenuItem("绿色"),//
fColor3 = new CheckboxMenuItem("蓝色");//
/** *****鼠标右键弹出菜单************************************************** */
// 弹出式菜单
PopupMenu popupMenu = new PopupMenu();
// 弹出菜单项
MenuItem pp1, pp2, pp3;
/**
* 构造器
*/
private Test_MentTest() {
super("Test_MentTest");
setLayout(new FlowLayout()); // 流布局
setBackground(Color.orange);
// 添加菜单容项
fontStyle.add(fStyle1);
fontStyle.add(fStyle2);
fontStyle.add(fStyle3);
fontSize.add(fSize1);
fontSize.add(fSize2);
fontSize.add(fSize3);
fontColor.add(fColor1);
fontColor.add(fColor2);
fontColor.add(fColor3);
menuBar.add(fontStyle);
menuBar.add(fontSize);
menuBar.add(fontColor);
//
setMenuBar(menuBar);
popupMenu.add(pp1 = new MenuItem("灰色"));
pp1.addActionListener(new koActionListener());
popupMenu.add(pp2 = new MenuItem("青色"));
pp2.addActionListener(new koActionListener());
popupMenu.add(pp3 = new MenuItem("黄色"));
pp3.addActionListener(new koActionListener());
add(textField);
add(popupMenu);
// 设置鼠标事件
enableEvents(AWTEvent.MOUSE_EVENT_MASK);
// 初始化设置
fSize1.setState(true);
fColor1.setState(true);
setSize(200, 180);
setVisible(true);
addWindowListener(new koWindowListener());
// 菜单项添加监听
fStyle1.addItemListener(new koItemListener());
fStyle2.addItemListener(new koItemListener());
fStyle3.addItemListener(new koItemListener());
fSize1.addItemListener(new koItemListener());
fSize2.addItemListener(new koItemListener());
fSize3.addItemListener(new koItemListener());
fColor1.addItemListener(new koItemListener());
fColor2.addItemListener(new koItemListener());
fColor3.addItemListener(new koItemListener());
}
/**
* 应用入口
*
* @param args
*/
public static void main(String[] args) {
new Test_MentTest();
}
/**
* 自定义弹出菜单的单击监听
*/
class koActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == pp1) {
textField.setBackground(Color.gray);
} else if (e.getSource() == pp2) {
textField.setBackground(Color.cyan);
} else if (e.getSource() == pp3) {
textField.setBackground(Color.yellow);
}
}
}
/**
* 自定义菜单选项监听
*/
class koItemListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
if (e.getItemSelectable() == fStyle1) {
ko = fStyle1.getLabel();
fStyle2.setState(false);
fStyle3.setState(false);
}
if (e.getItemSelectable() == fStyle2) {
ko = fStyle2.getLabel();
fStyle1.setState(false);
fStyle3.setState(false);
}
if (e.getItemSelectable() == fStyle3) {
ko = fStyle3.getLabel();
fStyle1.setState(false);
fStyle2.setState(false);
}
if (e.getItemSelectable() == fSize1) {
n = Integer.parseInt(fSize1.getLabel());
fSize2.setState(false);
fSize3.setState(false);
}
if (e.getItemSelectable() == fSize2) {
n = Integer.parseInt(fSize2.getLabel());
fSize1.setState(false);
fSize3.setState(false);
}
if (e.getItemSelectable() == fSize3) {
n = Integer.parseInt(fSize3.getLabel());
fSize1.setState(false);
fSize2.setState(false);
}
if (e.getItemSelectable() == fColor1) {
fColor = Color.red;
fColor2.setState(false);
fColor3.setState(false);
}
if (e.getItemSelectable() == fColor2) {
fColor = Color.green;
fColor1.setState(false);
fColor3.setState(false);
}
if (e.getItemSelectable() == fColor3) {
fColor = Color.blue;
fColor1.setState(false);
fColor2.setState(false);
}
textField.setFont(new Font(ko, Font.PLAIN, n));
textField.setForeground(fColor);
textField.setText(ko);
}
}
/**
* 鼠标响应事件
*/
@Override
protected void processMouseEvent(MouseEvent e) {
// 是否为此平台的鼠标弹出事件
if (e.isPopupTrigger()) {
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
/**
* 自定义关闭窗体监听
*/
class koWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
// 释放资源
e.getWindow().dispose();
System.exit(0);
}
}
发表评论
-
swing 学习笔记一(画板Panel )
2012-09-04 11:18 735/** * 画板 * * @time 3:38:10 P ... -
swing学习笔记二(画布Canvas)
2012-09-04 11:19 650/** * 画布 * @time 11:23:53 AM ... -
swing学习笔记三(菜单快捷MenuBar )
2012-09-06 22:43 701/** * 菜单快捷键 * * @time 12:40: ... -
swing学习笔记四(单选按钮JRadioButton )
2012-09-06 22:44 299/** * 单选按钮 * @time 下午10:48:14 ... -
swing学习笔记五(进度条ProgressMonitor )
2012-09-06 22:44 686/** * 进度条 * * @time 3:30:01 ... -
swing学习笔记六(对话框Dialog )
2012-09-06 22:47 677/** * 对话框 * * @time 11:09:20 ... -
swing 学习笔记八(列表JList )
2012-09-08 16:32 637/** * 列表 * @time 4:53:26 PM ... -
swing 学习笔记九(选项卡 JApplet是japplet的扩展)
2012-09-08 16:33 636/** * 选项卡 JApplet是japplet的扩展 ... -
swing 学习笔记十(边界面局管理BorderLayout)
2012-09-08 16:35 547/** * 边界面局管理 * * @time 2:59: ... -
swing学习笔记十一(卡片布局管理器CardLayout )
2012-09-09 10:54 638/** * 卡片布局管理器 * * @time 9:49 ... -
swing 学习笔记十二(网格布局GridLayout)
2012-09-09 10:59 518/** * 网格布局 * * @time 3:22:44 ... -
swing学习笔记十四(复选框JCheckBox )
2012-09-09 11:00 553/** * 复选框 * * @time 3:54:18 ...
相关推荐
JavaFX+Jfoenix 学习笔记系列的JavaFX+Jfoenix 学习笔记(四)--MenuBar菜单栏的源码
通过xml文件配制Menubar实现动态填充菜单!再过itemClick事件获取下次子菜单
Python_tkinter_9_Menubar_菜单_(GUI_窗口_教学教程tutorial)
menuBar.7z菜单栏
FLex MenuBar的小例子,可以实现下拉菜单的效果,可直接拷贝使用
matlab开发-MenuBar。在图形窗口中的任何位置创建菜单栏
qt5用代码实现界面创建,工具栏toolbar和菜单栏menubar。
VC++的工具栏菜单,带源程序和DEMO 在VC7.0 VC7.1 VC8.0及ARX中调试通过
menubar rebar rightclick
.NET 较新版本中移除了系统样式的MenuBar,进而使用MenuStrip。该实例还原了系统菜单栏,更加美观。 (如无法打开,请在文件名后加上后缀“.zip”)
利用QML写的菜单样式,适合项目中用,定义了MenuItem和MenuBar的样式。实现是在Qt5.12.0中,应该是Qt5.10及以上都可以的。
这个功能MenuBar,允许用户在图中的任何地方创建菜单它用真正的菜单栏替换了 UIpanels 的 UIcontextmenu。 菜单栏(figure_handle)或菜单栏 鼠标悬停,可以通过以下方式启用窗口调整大小更新menubar('start',...
菜单栏通常包含一个或多个菜单,每个菜单包含若干个菜单项(`QAction`)。可以通过`QMenuBar`、`QMenu` 和 `QAction` 类来创建和管理菜单栏及其菜单项。 1. **创建一个菜单栏:** ```cpp QMenuBar *menuBar = ...
Private WithEvents MenuBar_MenuItem As MSForms.Label '菜单项 Private WithEvents WorkForm As MSForms.UserForm '工作窗口 Private WithEvents MenuBar As MSForms.Image '菜单栏 Private BackMenu_BackGroud As...
本案例是模仿饿了么,实现横向导航栏,可以参考用,也可以直接插入到项目中,接口方面使用的是mockJS模拟接口
Laravel开发-menubar 拉拉维尔的菜单栏建设者
然后您可以使用codebox.menubar访问菜单栏: codebox . menubar . addMenu ( { caption : "My New Menu" , items : [ { caption : "My Command" , command : "mycomand" } , { type : "separator" } , {
TMenuBar component.
用于替换 Visual C++ 使用开发人员 Studio 对象模型中的打开和添加文件到工程菜单项。解决这两个菜单项出错的问题。
一个工具栏菜单的源程序