- 浏览: 260780 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (303)
- c (31)
- c++ (16)
- java (18)
- c# (1)
- python (3)
- java web (6)
- oracle (7)
- sqlserver (2)
- mysql (2)
- android (24)
- android系统 (15)
- android多媒体部分 (15)
- android游戏 (12)
- linux (26)
- javaScript (1)
- ajax (1)
- node JS (2)
- html (5)
- apache (3)
- jboss (1)
- weblogic (0)
- 通信协议 (10)
- 云计算 (1)
- 分布式 (5)
- ejb (1)
- webservice (5)
- 设计模式 (16)
- JNI (6)
- swing (13)
- 版本控制 (1)
- UML (1)
- xml (4)
- spring (5)
- hibernate (5)
- struts1 (3)
- struts2 (4)
- ibatis (0)
- tomcat (2)
- 心得体会 (1)
- css (1)
- 嵌入式 (41)
- arm体系结构 (10)
/**
* 菜单
*
* @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);
}
}
发表评论
-
java swing 学习笔记一(画板Panel )
2012-09-04 11:18 1067/** * 画板 * * @time 3:38:10 P ... -
java swing学习笔记二(画布Canvas)
2012-09-04 11:19 3241/** * 画布 * @time 11:23:53 AM ... -
swing学习笔记三(菜单快捷MenuBar )
2012-09-06 22:43 1351/** * 菜单快捷键 * * @time 12:40: ... -
swing 学习笔记四(单选按钮JRadioButton )
2012-09-06 22:44 585/** * 单选按钮 * @time 下午10:48:14 ... -
swing学习笔记五(进度条ProgressMonitor )
2012-09-06 22:44 882/** * 进度条 * * @time 3:30:01 ... -
swing 学习笔记六(对话框Dialog )
2012-09-06 22:47 3248/** * 对话框 * * @time 11:09:20 ... -
swing 学习笔记八(列表JList )
2012-09-08 16:32 874/** * 列表 * @time 4:53:26 PM ... -
swing 学习笔记九(选项卡 JApplet是japplet的扩展)
2012-09-08 16:33 877/** * 选项卡 JApplet是japplet的扩展 ... -
swing 学习笔记十(边界面局管理BorderLayout)
2012-09-08 16:35 822/** * 边界面局管理 * * @time 2:59: ... -
swing学习笔记十一(卡片布局管理器CardLayout )
2012-09-09 10:54 1052/** * 卡片布局管理器 * * @time 9:49 ... -
swing 学习笔记十二(网格布局GridLayout)
2012-09-09 10:59 2249/** * 网格布局 * * @time 3:22:44 ... -
swing学习笔记十四(复选框JCheckBox )
2012-09-09 11:00 1024/** * 复选框 * * @time 3:54:18 ...
相关推荐
Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件用于构建桌面应用程序。在Swing中,可折叠菜单...通过不断实践和学习,开发者可以熟练掌握这些技术,创造出更具吸引力和实用性的Java Swing应用。
### Java Swing 知识总结学习笔记 #### 一、Swing 概述 Swing 是一个用于构建桌面应用程序的 Java 图形用户界面 (GUI) 工具包,它基于 Java Abstract Window Toolkit (AWT) 构建而成。Swing 提供了更丰富的组件集...
在"JavaFX+Jfoenix 学习笔记(四)--MenuBar菜单栏源码"这篇笔记中,我们将深入探讨如何使用JavaFX的`MenuBar`和JFoenix库来创建具有Material Design风格的菜单栏。以下是一些关键知识点: 1. **JavaFX的MenuBar...
### Swing读书笔记:深入理解Swing的包与版面结构 #### Swing的常用包解析 Swing作为Java中用于创建图形用户界面(GUI)的主要库,提供了丰富的组件和功能,其核心包及其作用如下: 1. **`javax.swing`**: - 这是...
在Swing中,菜单按钮是创建交互式用户界面的关键元素,尤其是对于那些需要多个操作选项的应用程序。本教程将深入讲解Java Swing中的菜单按钮及其使用方法,非常适合初学者。 一、JMenuBar与JMenu 在Swing中,菜单...
在这个特定的项目中,"Java Swing模仿记事本菜单栏"是指使用Swing组件来创建一个类似记事本的程序,其中包含了一个功能完备的菜单栏。这个菜单栏通常会包含如“文件”、“编辑”、“查看”等选项,提供诸如打开、...
你可以解压后运行此项目,查看和学习动态菜单的实现方式。 总结,通过使用Flex的Menubar组件结合XML配置,我们可以轻松实现动态菜单。在itemClick事件中处理次级子菜单,可以实现灵活的交互逻辑,为用户提供更个性...
下拉式菜单在Java Swing中通常与菜单栏(MenuBar)一起使用。创建下拉式菜单的基本步骤如下: 1. 创建菜单栏对象(MenuBar)。这通常是应用程序窗口的第一个元素。 2. 将菜单栏设置到Frame上,通过调用`setMenuBar...
Python_tkinter_9_Menubar_菜单_(GUI_窗口_教学教程tutorial)
本文将深入探讨“黑莓学习笔记之三——对话框和菜单栏”这一主题,主要关注这两个UI元素在黑莓应用开发中的实现和使用。对于黑莓开发者而言,理解和掌握对话框和菜单栏的使用能够极大地提升应用的用户体验。 对话框...
Swing API包含了许多组件,如按钮(Button)、文本框(TextField)、标签(Label)、面板(Panel)、滚动窗格(JScrollPane)、菜单(MenuBar)等,这些组件使得开发者能够构建复杂的用户界面。其中,JFrame是顶级容器,用于承载...
本篇文章将深入探讨VC++中的工具栏菜单实现,以及如何利用提供的`MenuBar`示例进行学习。 **一、工具栏(ToolBar)** 1. **创建工具栏**:在资源视图中,选择"添加资源",然后选择"工具栏",可以创建一个新的工具...
标题中的"menubar"指的是应用程序中的菜单栏,通常位于窗口的顶部,用于提供各种操作选项。在编程领域,创建和管理菜单栏是构建图形用户界面(GUI)的重要部分。接下来,我们将深入探讨菜单栏的概念、功能以及如何在...
通过`menubar.m`文件,我们可以学习到如何使用MATLAB的图形用户界面工具箱来设计和实现交互式的菜单系统。`test.fig`和`test.m`文件展示了GUI的布局和功能实现,而`license.txt`则提供了关于代码使用的法律指导。在...
本篇文章将深入探讨如何在QML中自定义菜单样式,特别是MenuItem和MenuBar。 首先,`MenuItem`是QML中的一个基本组件,通常在`Menu`或`MenuBar`中使用,用于表示可点击的选项。默认情况下,`MenuItem`具有简洁的样式...
在IT行业中,"menuBar.7z菜单栏"这个标题暗示了我们正在处理一个与图形用户界面(GUI)设计相关的项目,特别是涉及到菜单栏的实现。这个项目可能使用了QT库,因为"QT"是提供的标签之一。QT是一个广泛使用的跨平台...
在跨平台的开发环境中,如Java的Swing或JavaFX,添加菜单项同样简单。以下是在JavaFX中添加“关于”菜单项的示例: ```java MenuBar menuBar = new MenuBar(); Menu fileMenu = new Menu("文件"); MenuItem ...
通过学习这个示例,开发者可以了解如何使用Swing创建复杂的菜单系统,包括子菜单、快捷键、分割线等。这有助于提升Java桌面应用的用户体验,使其更符合用户的操作习惯。在实际开发中,可以根据需求扩展这些基本概念...
`javax.swing.JMenuBar` 是用来创建菜单栏的类,而`javax.swing.JMenuItem` 则用于创建菜单项。菜单项可以包含子菜单,通过`javax.swing.JMenu` 类实现。此外,我们还可以使用`javax.swing.JPopupMenu` 创建弹出式...