首页 > 其他分享 >m2_day13 [项目周]

m2_day13 [项目周]

时间:2024-06-20 22:55:50浏览次数:22  
标签:容器 当中 项目 day13 添加 监听器 m2 组件 new

课程内容:
  • GUI图形用户界面

  • 监听攻略


GUI
GUI => G=图形 U=用户 I=接口

图形用户接口 = 用户图形界面...

java.awt.*;   Button 重量级组件
javax.swing.*; JButton 轻量级组件

常见的6个步骤:
1.选择容器Container 和组件Component
组件 : 你在图形界面当中能够看到的
任何事物都被称之为一个组件

容器 : 一旦一个组件当中能够添加其它组件
这个组件 就被称之为容器

常用的容器:
JFrame 窗体框架
JPanel   面板
常用的组件:
JButton 按钮
JLabel 标签
JTextField 单行文本框
JPasswordField 单行密码框
JMenuBar 菜单条
JMenu 菜单
JMenuItem 菜单项

2.初始化容器和组件
new new new 了解各个类型的构造方法

3.选择布局管理器
a.BorderLayout -> JFrame的默认布局管理器
它将容器的可视范围分割为东西南北中五个区域
每个区域只允许添加一个组件
不尊重组件的原始大小 直接拉伸占满整个区域
如果东西南北四个区域当中
有未使用的区域 将直接被中央及其它区域占领

b.FlowLayout -> JPanel的默认布局管理器
它按照从左到右的顺序依次添加组件
尊重组件的原始大小 不会拉伸 不会缩放
如果一行摆放不开 则自动换行并且依然居中对齐

c.GridLayout -> 网格布局 它不是任何容器的默认布局
它将容器的可视范围分割为指定的行数列数形成网格
每个单元格只允许添加一个组件
不尊重组件原始大小 直接拉伸占满整个单元格
添加的时候按照从左到右 自上而下的顺序添加

4.将组件添加进容器
容器.add(组件);

5.添加事件监听器
...

6.设置窗体属性
设置窗体大小 宽高
设置窗体是否可见  
设置默认关闭操作
监听攻略
工作日志:
  一、注册登录界面:
1.导入事件监听模型的包

2.成员内部类的位置 开发一个软键盘监听器
2-1: 得到用户这次按的按钮上的字
ae.getActionCommand();
2-2: 得到密码框当中原有的内容
getText();
2-3: 设置修改密码框的新内容
setText();

3.构造方法当中 循环之外 创建监听器对象

4.循环当中 给每一个按钮添加监听器
addActionListener();

5.将密码框修改成不可手动编辑的
setEditable(false);

  二、点菜界面:
1.导包

2.开发一个点击菜单项的监听器   FoodListener
2-* 类体当中定义一个Map用于记录菜名和价格
2-* 在加载菜单项的时候 向Map当中填充数据
2-* 类体当中定义一个字符串 记录正在显示的菜
2-1 获得用户点击的那组件上面的字
ae.getActionCommand();
2-2 修改图片
pic.setIcon(new ImageIcon(...));
2-3 修改title标签上的菜名和价格
title.setText(cmd + " : " + +" 元");
注意价格是从Map当中get出来的
2-4 偷偷记录正在显示的菜名

3.开发一个"我要点这道菜"的监听器
..

标签:容器,当中,项目,day13,添加,监听器,m2,组件,new
From: https://www.cnblogs.com/zhaodenghui33/p/18259622

相关文章

  • m2_day14 [项目周]
    课程内容:分层思想的实现分层思想的实现连接后台的功能前台传给后台的数据后台返回什么1.注册用户名+密码操作是否成功2.登录用户名+密码操作是否成功3.点菜用户名+菜1+菜2...操作是否成功​​申请表Request:......
  • m2_day15 [数据库]
    Day01OracleSQL=StructuredQueryLanguage=结构化查询语言DDL=DataDifinitionLanguage=数据定义语言create创建alter修改drop删除truncate截断DML=DataManipulationLanguage=数据操纵语言insert新增delete删除update更新DQL=DataQueryLa......
  • m2_day10 [IO流]
    课程内容:Reader和WriterFileReader和FileWriterBufferedReader和BufferedWriterPrintStream和PrintWriterPrintWriter相较于BufferedWriter强大之处Reader和WriterReader所有字符输入流统一的父类抽象类intread()intread(char[]data)in......
  • 解决Vue3项目运行控制台警告
    运行Vue3项目,控制台警告:Featureflag VUE_PROD_HYDRATION_MISMATCH_DETAILS isnotexplicitlydefined.Youarerunningtheesm-bundlerbuildofVue,whichexpectsthesecompile-timefeatureflagstobegloballyinjectedviathebundlerconfiginordertogetbet......
  • 基于Springboot的CSGO赛事管理系统(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的CSGO赛事管理系统(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven+Layui+Elementui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统......
  • 基于SSM的宠物医院管理系统的设计与实现(有报告)。Javaee项目。ssm项目。
    演示视频:基于SSM的宠物医院管理系统的设计与实现(有报告)。Javaee项目。ssm项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringMvc+Mybatis+Vue+Layui+Elementui+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。......
  • 微信小程序毕业设计-教学质量评价系统项目开发实战(附源码+论文)
    大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。......
  • 热门开源项目推荐
    以下是一些近年来非常受欢迎的开源项目,这些项目涵盖了多种编程语言和应用领域,适合不同需求和兴趣的开发者参与和学习。1. TensorFlow描述:一个用于机器学习的开源库,广泛应用于深度学习和人工智能项目。语言:Python,C++地址:TensorFlowGitHub2. React描述:由Facebook开发的......
  • SAdb项目第二章-PySide6&&designer基础配置及应用
    接上文,本章来说说designer如何使用,并且如何转换成py文件打开designer控制台输入pyside6-designer就能打开创建一个Widget窗口打开后会自动弹出新建窗体选择Widget创建即可。也可以通过左上角的文件新建一个:designer简介desinger中的控件区域有各种控件......
  • Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相
    Java智慧工地源码5G智慧工地系统源码使用SAAS部署三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;智慧工地是指运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工模拟,围绕施工过程管理,建立互联协同、智能生产、科学管理的施工项......