java菜单

合集下载

java 17

java 17

10
11 12
frm.setTitle("List class");
for(int i=0;i<=10;i++) // 利用for循环加入选项 lst.add("List Item "+i);
13
14 15 16 17 18 19
lst.select(2); // 选取索引值为2的选项
frm.setSize(200,150); frm.add(lst); frm.setBackground(Color.yellow); frm.setVisible(true); System.out.println("lst.getRows()= "+lst.getRows()); System.out.println("lst.getItemCount()= "+lst.getItemCount());
06
static MenuBar mb=new MenuBar(); // 创建MenuBar对象
17 08
mb.add(menu2); static Menu menu2=new Menu("Exit");
21 12
menu2.add(mi4); static MenuItem mi4=new MenuItem("Close window");
Chapter 17
菜单、菜单栏

滚动条
选择窗体
选择窗体(list)可用来一次显示多个选项,Java
以List类来创建它。选择窗体的使用方式相当
简单,先用List类的add() 将选项加到窗体内,

java窗口设计代码

java窗口设计代码

java窗口设计代码Java窗口设计代码Java窗口设计代码是指使用Java编程语言来创建和设计窗口界面的代码。

通过使用Java的窗口库,开发人员可以创建图形用户界面(GUI)并添加各种组件,如按钮、文本区域、下拉列表等,来与用户进行交互。

在下面的文章中,我将逐步介绍Java窗口设计代码的相关概念和步骤,帮助读者了解如何使用Java来创建窗口界面和与用户进行交互。

一、引入Java窗口库在使用Java窗口设计代码之前,我们首先需要引入Java窗口库。

Java提供了许多库,如AWT和Swing,用于创建窗口界面。

其中,Swing是AWT的升级版本,提供了更多的组件和功能。

要引入Swing库,我们需要在Java代码中添加以下语句:javaimport javax.swing.*;这样就可以使用Swing库提供的各种类和方法来设计窗口界面。

二、创建主窗口在Java窗口设计代码中,我们首先需要创建一个主窗口,作为整个窗口界面的容器。

可以通过继承JFrame类来创建主窗口,并使用以下代码:javapublic class MainFrame extends JFrame {public MainFrame() {设置主窗口的标题setTitle("Java窗口设计");设置主窗口的大小setSize(800, 600);设置主窗口的默认关闭操作setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);设置主窗口的布局setLayout(new BorderLayout());添加其他组件到主窗口...显示主窗口setVisible(true);}}在上述代码中,我们创建了一个`MainFrame`类,并继承了`JFrame`类。

然后,在`MainFrame`类的构造方法中,我们设置了主窗口的标题、大小、默认关闭操作和布局。

最后,我们添加其他组件到主窗口,并将主窗口设置为可见状态。

角色 菜单 表结构设计 java

角色 菜单 表结构设计 java

角色菜单表结构设计java全文共四篇示例,供读者参考第一篇示例:角色菜单表结构设计在java中是一个非常重要的数据结构,它承载了系统中用户角色和菜单之间的关系,为系统权限管理提供了基础支持。

在实际项目中,设计一个合理的角色菜单表结构是至关重要的,因为它直接影响到系统的性能和功能的实现。

在java中,通常使用数据库来存储角色菜单表结构。

在设计表结构时,需要考虑以下几个方面:1. 角色表设计:角色表是系统中存储角色信息的表,通常包含角色的名称、描述、权限等字段。

在设计角色表时,需要考虑角色的唯一性,以及与其他表的关联性。

3. 角色菜单关联表设计:角色菜单关联表是用来存储角色和菜单之间的关联关系的表。

通常包含角色ID和菜单ID两个字段,用来表示一个角色对应多个菜单的关联关系。

下面我们通过一个实际的案例来演示如何设计角色菜单表结构。

假设我们有一个系统需要管理用户的角色和菜单访问权限,我们设计如下表结构:1. 角色表设计CREATE TABLE role(role_id INT PRIMARY KEY,role_name VARCHAR(50) UNIQUE NOT NULL,description TEXT,create_time TIMESTAMP DEFAULTCURRENT_TIMESTAMP);通过上面的设计,我们实现了角色表、菜单表和角色菜单关联表的设计。

在实际应用中,可以通过这些表结构来实现角色和菜单之间的关联关系,从而实现系统的权限管理功能。

在Java中,我们可以通过使用ORM框架(如Hibernate、MyBatis等)来操作数据库,简化开发过程。

通过实体类和映射文件的设置,我们可以快速地操作数据库,实现对角色菜单表结构的管理。

第二篇示例:## 角色菜单表结构设计及其在Java中的应用### 一、引言在很多软件系统中,我们经常会遇到角色与菜单之间的关系,即不同的角色有不同的权限去访问系统中的各种菜单功能。

编程选择题40道:Java开发工具:IDEA与Eclipse的使用.Tex

编程选择题40道:Java开发工具:IDEA与Eclipse的使用.Tex

1.在 IntelliJ IDEA 中,如何创建一个新的 Java 项目?o A. 使用 File > New > Project 菜单选项,并选择 Javao B. 在主界面直接拖拽 Java 文件o C. 通过 Edit > Preferences 进行项目设置o D. View > Tool Windows > Maven Projects答案: A解析: 创建新项目是通过 File 菜单下的 New 选项,并选择 Project 开始的。

2.Eclipse 中,如何调整编辑器的字体大小?o A. Window > Preferences > General > Editors > Text Editorso B. 使用 Ctrl + Plus 和 Ctrl + Minuso C. Run > Run Configurationso D. Project > Properties > Java Compiler答案: A解析: 调整字体大小是在 Preferences 设置中,具体在 General 下的 Editors 和 Text Editors 菜单项中。

3.在 IntelliJ IDEA 中,如何启用版本控制功能?o A. File > Settings > Version Controlo B. 使用快捷键 Ctrl + Shift + Ao C. Help > Tips of the Dayo D. Build > Make Project答案: A解析: 启用版本控制需要在Settings 对话框的Version Control 分类里进行配置。

4.Eclipse 中,如何执行重构(Refactoring)操作?o A. Refactor > Renameo B. 使用快捷键 Ctrl + Shift + Ro C. File > New > Classo D. Edit > Find and Replace答案: A解析: Eclipse 提供的重构操作可以通过 Refactor 菜单下的 Rename 等选项执行。

java JMenu菜单

java  JMenu菜单

java JMenu菜单在一个窗口中,经常需要给窗口添加菜单条。

在Java中这一部分是由JMenuBar、JMenu和JMenuItem三个类实现的,分别对应菜单条、菜单和菜单项。

1.菜单栏(JMenuBar)创建菜单栏是制作菜单的第一步,并JMenuBar的构造方法相当简单,如通过“JMenuBar TestJMenuBar=new JMenuBar();”语句即可创建。

而在设置菜单栏时,可以通过表9-22所示的常用方法。

需要说明的是,JMenuBar类根据JMenu添加的顺序从左到右显示,并建立整数索引。

2.菜单(JMenu)在添加完菜单栏后,并不会显示任何菜单内容,所以还需要在菜单栏中添加菜单内容。

菜单内容的JMenu类的构造方法有4种:●JMenu( ) 构造一个空菜单。

●JMenu(Action a) 构造一个菜单,菜单属性由相应的动作来提供。

●JMenu(String s) 用给定的标志构造一个菜单。

●JMenu(String s,Boolean b) 构造一个新JMenu,用提供的字符串作为其文本并指定其是否为分离式(tear-off)菜单。

在构造完后,使用JMenuBar类的add方法添加到菜单栏中。

而JMenu的常用方法如表9-23所示。

3.菜单项(JMenuItem)在菜单中可以添加不同的内容,可以是菜单项(JMenuItem),可以是一个子菜单,也可以是分隔符。

子菜单的添加是直接将一个子菜单添加到母菜单中,而分隔符的添加只需要将分隔符作为菜单项添加到菜单中。

菜单的该实现是一个包含JMenuItem的弹出窗口,用户选择JMenuBar上的项时会显示该JMenuItem。

除JMenuItem之外,JMenu还可以包含JSeparator。

其菜单项的构建方法如下:●JMenuItem() 创建不带有设置文本或图标的JMenuItem。

●JMenuItem(Action a) 创建从指定的Action获取其属性的菜单项。

Java的GUI设计打造美观直观的用户界面

Java的GUI设计打造美观直观的用户界面

Java的GUI设计打造美观直观的用户界面Java是一种广泛使用的编程语言,拥有着强大的图形用户界面(GUI)设计能力。

通过使用Java提供的各种GUI库和工具,开发人员可以轻松地创建美观、直观的用户界面。

本文将介绍一些在Java中实现这样的GUI设计的方法和技巧。

一、选择合适的GUI库在Java中,有多个GUI库可供选择,比如Swing、JavaFX等。

选择合适的GUI库是设计美观直观界面的第一步。

Swing是一个成熟的GUI库,提供了丰富的组件和布局管理器,可以满足大部分GUI设计需求。

JavaFX是Java官方推荐的GUI库,它提供了更现代化的界面设计风格和更优秀的性能。

二、使用布局管理器布局管理器是GUI设计中重要的一环,它定义了组件在窗口中的位置和大小。

Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout等。

通过合理选择和组合这些布局管理器,可以实现各种复杂的界面布局。

三、使用合适的图标和图片图标和图片在GUI设计中起着很重要的作用,可以通过它们来提升用户界面的美观性和直观性。

Java提供了处理图标和图片的功能和类库,开发人员可以使用这些功能来加载、处理和显示各种图标和图片。

四、使用合适的颜色和字体颜色和字体也是GUI设计中非常重要的元素,可以用来强调界面的重要信息或者创建特定的视觉效果。

Java提供了各种颜色和字体的类库和功能,可以用来选择合适的颜色和字体样式。

五、增加交互性一个好的用户界面应该具有良好的交互性,能够方便用户进行操作。

Java提供了丰富的事件处理机制和监听器,可以实现交互性功能。

开发人员可以通过监听用户的操作,及时响应并更新界面,实现更好的用户体验。

六、进行界面美化除了以上的基本设计原则,开发人员还可以通过一些额外的技巧来进一步美化用户界面。

比如使用渐变色背景、添加阴影效果、使用动画效果等。

这些技巧可以使界面更加生动、有趣,并提升用户的整体体验。

java swing常用的9种组件

java swing常用的9种组件

在Java1.0中,已经有一个用于GUI编程的类库AWT(Abstract Window Toolkit),称之为抽象窗口工具箱。

遗憾的是,AWT中的组件(例如按钮,类名为Button)在实现中使用了本地代码(Native Code),这些组件的创建和行为是由应用程序所在平台上的本地GUI工具来处理的。

因此,AWT组件要在不同的平台上提供给用户一致的行为就受到了很大的限制。

同时,AWT组件中还存在很多bug,这就使得使用AWT来开发跨平台的GUI应用程序困难重重。

1996年,SUN公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsacpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。

Swing组件和原来的AWT组件完全不同,最大的区别就是Swing组件的实现中没有使用本地代码,这样对底层平台的依赖型就大为降低,并且可以给不同平台的用户一致的感觉。

此外,和原来的AWT相比,Swing 中提供了内容更多、使用更为方便的组件。

在阅读一些书籍时,常会遇到名词JFC(Java Foundation Class)。

JFC的概念是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。

实际上,Swing只是JFC的一部分,其它的还有二维图形(Java 2D)API以及拖放(Drag and Drop)API等等。

Swing并不是完全取代了AWT,Swing只是使用更好的GUI组件(如JButton)代替AWT 中相应的GUI组件(如Button),并且增加了一些AWT中原来所没有的GUI组件。

并且,Swing 仍使用AWT 1.1的事件处理模型。

虽然现在AWT组件仍得到支持,但是建议在你的应用程序中尽量使用Swing组件和1.1的事件模型。

1.标签(JLabel)标签(JLabel)通常是用来标识另外一个组件的含义。

以在标签上显示文字、图象或是文字图象的组合。

java食堂点餐程序代码小票

java食堂点餐程序代码小票

Java食堂点餐程序代码小票一、介绍现代生活节奏加快,很多人都习惯在食堂用餐。

为了提高点餐过程的效率和准确性,开发一个Java食堂点餐程序是一项非常有意义的任务。

本文将详细探讨如何编写一个可以生成小票的Java食堂点餐程序代码。

二、功能需求分析在编写代码之前,先明确需要实现的功能需求。

根据任务名称,我们需要编写的食堂点餐程序代码应具备以下功能:1.显示菜单:将食堂提供的菜单信息显示出来,包括菜品名称、价格和编号。

2.点餐:顾客可以根据菜单编号选择菜品,并输入数量。

3.计算价格:根据顾客的点餐信息,计算总价格。

4.生成小票:将点餐信息和总价格生成打印小票。

三、程序设计与实现3.1 数据结构设计在食堂点餐程序中,我们可以使用以下数据结构来存储菜单信息和点餐信息:3.1.1 菜单信息public class MenuItem {private int id;private String name;private double price;// 省略构造方法和getter、setter}3.1.2 点餐信息public class OrderItem {private MenuItem menuItem;private int quantity;// 省略构造方法和getter、setter}3.2 功能实现3.2.1 显示菜单public class Menu {private List<MenuItem> menuItems;// 省略构造方法和getter、setterpublic void displayMenu() {System.out.println("菜单:");for (MenuItem item : menuItems) {System.out.println(item.getId() + ". " + item.getName() + "(¥" + item.getPrice() + ")");}}}3.2.2 点餐import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Order {private List<OrderItem> orderItems;// 省略构造方法和getter、setterpublic void addOrderItem(MenuItem menuItem, int quantity) {OrderItem orderItem = new OrderItem(menuItem, quantity);orderItems.add(orderItem);}public void placeOrder(Menu menu) {Scanner scanner = new Scanner(System.in);int choice;int quantity;while (true) {menu.displayMenu();System.out.println("请输入菜品编号(输入0结束点餐):");choice = scanner.nextInt();if (choice == 0) {break;}if (choice > menu.getMenuItems().size() || choice < 0) {System.out.println("无效的菜品编号,请重新输入!");continue;}System.out.println("请输入菜品数量:");quantity = scanner.nextInt();if (quantity <= 0) {System.out.println("无效的菜品数量,请重新输入!");continue;}MenuItem menuItem = menu.getMenuItems().get(choice - 1);addOrderItem(menuItem, quantity);}}}3.2.3 计算价格public class Calculator {public static double calculateTotalPrice(List<OrderItem> orderItems) { double totalPrice = 0;for (OrderItem orderItem : orderItems) {MenuItem menuItem = orderItem.getMenuItem();int quantity = orderItem.getQuantity();totalPrice += menuItem.getPrice() * quantity;}return totalPrice;}}3.2.4 生成小票public class Receipt {public static void generateReceipt(List<OrderItem> orderItems) {System.out.println("小票:");System.out.println("菜品\t\t数量\t\t价格");for (OrderItem orderItem : orderItems) {MenuItem menuItem = orderItem.getMenuItem();int quantity = orderItem.getQuantity();System.out.println(menuItem.getName() + "\t\t" + quantity + "\t\t ¥" + (menuItem.getPrice() * quantity));}System.out.println("总计:¥" + Calculator.calculateTotalPrice(orderIt ems));System.out.println("谢谢惠顾!");}}3.3 主程序入口public class Main {public static void main(String[] args) {Menu menu = new Menu();// 初始化菜单,添加菜品信息到menu对象Order order = new Order();order.placeOrder(menu);List<OrderItem> orderItems = order.getOrderItems();Receipt.generateReceipt(orderItems);}}四、示例运行结果以下是一个示例运行结果的截图:菜单:1. 麻辣香锅(¥28.0)2. 宫保鸡丁(¥18.0)3. 水煮鱼(¥30.0)请输入菜品编号(输入0结束点餐):2请输入菜品数量:2菜单:1. 麻辣香锅(¥28.0)2. 宫保鸡丁(¥18.0)3. 水煮鱼(¥30.0)请输入菜品编号(输入0结束点餐):1请输入菜品数量:1菜单:1. 麻辣香锅(¥28.0)2. 宫保鸡丁(¥18.0)3. 水煮鱼(¥30.0)请输入菜品编号(输入0结束点餐):0小票:菜品数量价格宫保鸡丁 2 ¥36.0麻辣香锅 1 ¥28.0总计:¥64.0谢谢惠顾!五、总结通过本文对Java食堂点餐程序代码小票的详细探讨,我们了解了如何编写一个功能完备的Java食堂点餐程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序中实现菜单需要用到3个组件:JMenuBar、JMenuItem和JMenu。

菜单条组件JMenuBar组件的功能是用来摆入JMenu组件。

当建立了许多JMenu组件后,通过JMenuBar组件可将JMenu组件加入到窗口中。

JMenuBar组件对于构造一个菜单来说是个不可缺少的组件,其构造方法如下:JMenuBar(); //建立一个新的JMenuBar图6.19 菜单组件的继承结构图通过add()方法可以向JMenuBar组件中添加菜单。

JMenuBar不支持事件监听器,在JMenuBar上产生的所有事件都会被JMenuBar组件自动处理。

JFrame提供setJMenuBar()方法将JMenuBar组件放置在窗口上方,setJMenuBar()方法声明如下:public void setJMenuBar(JMenuBar menubar);菜单组件JMenu组件是用来存放和整合JMenuItem的组件,它是构成一个菜单中不可或缺的组件之一。

JMenu可以是单一层次的结构也可以是一个层次式的结构,要使用什么结构取决于界面在设计上的需要。

其构造方法如下所示:JMenu(); //建立一个JMenuJMenu(Action a); //建立一个支持Action的JMenuJMenu(String s); //以指定的字符串名称建立一个JMenuJMenu(String, Boolean b); //以指定的字符串名称建立一个JMenu并决定这个菜单是否具有下拉式的属性菜单项组件JMenuItem继承自AbstractButton类,因此JMenuItem具有许多AbstractButton的特性,和功能,例如加入图标文件或是当在菜单中选择某一项JMenuItem时就如同按下按钮触发ActionEvent,通过对ActionEvent的处理就可以针对不同的JMenuItem编写其对应的程序代码。

JMenuItem的构造方法如下所示:JMenuItem(); //建立一个JMenuItemJMenuItem(Action a); //建立一个支持Action的JMenuItemJMenuItem(Icon icon); //建立一个有图标的JMenuItemJMenuItem(String text); //建立一个有文字的JMenuItemJMenuItem(String text, Icon icon); //建立一个有图标和文字的JMenuItemJMenuItem(String text, int mnemonic);//建立一个有文字和键盘快捷键的JMenuItem还可以创建带有复选框或选择按钮的菜单项,即创建JCheckBoxMenuItem、JRaionButtonMenuItem组件。

从这两个组件的继承关系可以看出它们可以使用JMenuItem所提供的方法,又具有JCheckBox和JRadionButton的特性。

例6.26 使用菜单的实例import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MenuTest extends JFrame {private final Color colorV alues[] = { Color.black, Color.blue, Color.red, Color.green };private JRadioButtonMenuItem colorItems[], fonts[];private JCheckBoxMenuItem styleItems[];private JLabel displayLabel;private ButtonGroup fontGroup, colorGroup;private int style;public MenuTest(){super( "Using JMenus" );JMenu fileMenu = new JMenu( "File" );fileMenu.setMnemonic( 'F' ); //设置快捷键JMenuItem aboutItem = new JMenuItem( "About..." );aboutItem.setMnemonic( 'A' );fileMenu.add( aboutItem );aboutItem.addActionListener(new ActionListener() {public void actionPerformed( ActionEvent event ){JOptionPane.showMessageDialog( MenuTest.this,"This is an example\nof using menus","About", JOptionPane.PLAIN_MESSAGE );}});JMenuItem exitItem = new JMenuItem( "Exit" );exitItem.setMnemonic( 'x' );fileMenu.add( exitItem );exitItem.addActionListener(new ActionListener() {public void actionPerformed( ActionEvent event ){System.exit( 0 );}});JMenuBar bar = new JMenuBar();setJMenuBar( bar );bar.add( fileMenu );JMenu formatMenu = new JMenu( "Format" );formatMenu.setMnemonic( 'r' );String colors[] = { "Black", "Blue", "Red", "Green" };JMenu colorMenu = new JMenu( "Color" );colorMenu.setMnemonic( 'C' );colorItems = new JRadioButtonMenuItem[ colors.length ];colorGroup = new ButtonGroup();ItemHandler itemHandler = new ItemHandler();for ( int count = 0; count < colors.length; count++ ) {colorItems[ count ] = new JRadioButtonMenuItem( colors[ count ] );colorMenu.add( colorItems[ count ] );colorGroup.add( colorItems[ count ] );colorItems[ count ].addActionListener( itemHandler );}colorItems[ 0 ].setSelected( true );formatMenu.add( colorMenu );formatMenu.addSeparator(); //分隔线String fontNames[] = { "Serif", "Monospaced", "SansSerif" };JMenu fontMenu = new JMenu( "Font" );fontMenu.setMnemonic( 'n' );fonts = new JRadioButtonMenuItem[ fontNames.length ];fontGroup = new ButtonGroup();for ( int count = 0; count < fonts.length; count++ ) {fonts[ count ] = new JRadioButtonMenuItem( fontNames[ count ] );fontMenu.add( fonts[ count ] );fontGroup.add( fonts[ count ] );fonts[ count ].addActionListener( itemHandler );}fonts[ 0 ].setSelected( true );fontMenu.addSeparator();String styleNames[] = { "Bold", "Italic" };styleItems = new JCheckBoxMenuItem[ styleNames.length ]; StyleHandler styleHandler = new StyleHandler();for ( int count = 0; count < styleNames.length; count++ ) {styleItems[ count ] = new JCheckBoxMenuItem( styleNames[ count ] );fontMenu.add( styleItems[ count ] );styleItems[ count ].addItemListener( styleHandler );}formatMenu.add( fontMenu );bar.add( formatMenu );displayLabel = new JLabel( "Sample Text", SwingConstants.CENTER ); displayLabel.setForeground( colorV alues[ 0 ] );displayLabel.setFont( new Font( "Serif", Font.PLAIN, 72 ) ); getContentPane().setBackground( Color.CY AN );getContentPane().add( displayLabel, BorderLayout.CENTER );setSize( 500, 200 );setVisible( true );}public static void main( String args[] ){MenuTest application = new MenuTest();application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );}private class ItemHandler implements ActionListener {public void actionPerformed( ActionEvent event ){for ( int count = 0; count < colorItems.length; count++ )if ( colorItems[ count ].isSelected() ) {displayLabel.setForeground( colorV alues[ count ] );break;}for ( int count = 0; count < fonts.length; count++ )if ( event.getSource() == fonts[ count ] ) {displayLabel.setFont(new Font( fonts[ count ].getText(), style, 72 ) );break;}repaint();}}private class StyleHandler implements ItemListener {public void itemStateChanged( ItemEvent e ){style = 0;if ( styleItems[ 0 ].isSelected() )style += Font.BOLD;if ( styleItems[ 1 ].isSelected() )style += Font.ITALIC;displayLabel.setFont( new Font( displayLabel.getFont().getName(), style, 72 ) );repaint();}}}程序运行结果如下图所示:图6.20演示使用菜单的程序运行结果图弹出式菜单是一种特别形式的菜单,其性质与菜单几乎完全相同,只是PopupMenu并不固定在窗口的任何一个位置,而是根据鼠标位置由系统判断PopupMenu应出现在哪里。

相关文档
最新文档