/**
* 菜单快捷键
*
* @time 12:40:40 PM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_ShortcutTest extends Frame {
private static final long serialVersionUID = 1L;
double a, d, n, sum;
// 参数用于指定列数
TextField textField1 = new TextField(5),//
textField2 = new TextField(5),//
textField3 = new TextField(5),//
textField4 = new TextField(10);//
Label label1 = new Label("******计算等差/等比级数********"),//
label2 = new Label("输入初始值:"),//
label3 = new Label("输入公差/公比值:"),//
label4 = new Label("输出第几项"),//
label5 = new Label("输出总和:");//
/**
* 菜单快捷键
*
* 第二个参数是否需要同时按下shift键
*/
MenuShortcut menuShortcut1 = new MenuShortcut(KeyEvent.VK_A, true),//
menuShortcut2 = new MenuShortcut(KeyEvent.VK_S, false);
// 菜单栏
MenuBar bar = new MenuBar();
Menu menu = new Menu("级数");
MenuItem sz1 = new MenuItem("等差级数", menuShortcut1),//
sz2 = new MenuItem("等比级数", menuShortcut2);//
/**
* 构造器
*/
private Test_ShortcutTest() {
super("菜单快捷键测试");
setLayout(new FlowLayout());
setBackground(Color.orange);
menu.add(sz1);
menu.add(sz2);
bar.add(menu);
setMenuBar(bar);
add(label1);
add(label2);
add(textField1);
add(label3);
add(textField2);
add(label4);
add(textField3);
add(label5);
add(textField4);
setSize(200, 180);
setVisible(true);
addWindowListener(new koWindowListener());
sz1.addActionListener(new koActionListener());
sz2.addActionListener(new koActionListener());
}
/**
* 关闭窗体
*
* @time 1:22:40 PM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
class koWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
e.getWindow().dispose();
System.exit(0);
}
}
/**
* 菜单单击监听
*
*/
class koActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
a = new Double(textField1.getText()).doubleValue();
d = new Double(textField2.getText()).doubleValue();
n = new Double(textField3.getText()).doubleValue();
if (e.getSource() == sz1) {
textField4.setBackground(Color.yellow);
// 计算等差级数的总和
// 公式为:s=(a1+an)n/2
sum = (2 * a + (n - 1) * d) * n / 2;
} else if (e.getSource() == sz2) {
textField4.setBackground(Color.green);
/**
* 计算等比级数的总和
*
* 设比例因子为q 项数为n 首项为a1 和s=a1*(1-q^n)/(1-q)
*/
sum = a * (1 - Math.pow(d, n)) / (1 - d);
}
textField4.setText(String.valueOf(sum));
}
}
public static void main(String[] args) {
new Test_ShortcutTest();
}
}
分享到:
相关推荐
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`**: - 这是...
你可以解压后运行此项目,查看和学习动态菜单的实现方式。 总结,通过使用Flex的Menubar组件结合XML配置,我们可以轻松实现动态菜单。在itemClick事件中处理次级子菜单,可以实现灵活的交互逻辑,为用户提供更个性...
在Swing中,菜单按钮是创建交互式用户界面的关键元素,尤其是对于那些需要多个操作选项的应用程序。本教程将深入讲解Java Swing中的菜单按钮及其使用方法,非常适合初学者。 一、JMenuBar与JMenu 在Swing中,菜单...
在这个特定的项目中,"Java Swing模仿记事本菜单栏"是指使用Swing组件来创建一个类似记事本的程序,其中包含了一个功能完备的菜单栏。这个菜单栏通常会包含如“文件”、“编辑”、“查看”等选项,提供诸如打开、...
本文将深入探讨“黑莓学习笔记之三——对话框和菜单栏”这一主题,主要关注这两个UI元素在黑莓应用开发中的实现和使用。对于黑莓开发者而言,理解和掌握对话框和菜单栏的使用能够极大地提升应用的用户体验。 对话框...
下拉式菜单在Java Swing中通常与菜单栏(MenuBar)一起使用。创建下拉式菜单的基本步骤如下: 1. 创建菜单栏对象(MenuBar)。这通常是应用程序窗口的第一个元素。 2. 将菜单栏设置到Frame上,通过调用`setMenuBar...
Python_tkinter_9_Menubar_菜单_(GUI_窗口_教学教程tutorial)
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 ...
标题“menubar_rebar_rightclick”以及描述“menubar rebar rightclick”提及的是Windows应用程序开发中的特定功能,涉及到菜单栏(menubar)、Rebar控件以及右键点击事件处理。在Windows API编程中,这些元素是构建...
`javax.swing.JMenuBar` 是用来创建菜单栏的类,而`javax.swing.JMenuItem` 则用于创建菜单项。菜单项可以包含子菜单,通过`javax.swing.JMenu` 类实现。此外,我们还可以使用`javax.swing.JPopupMenu` 创建弹出式...