Java 实训5 编写一个窗体应用程序模拟交通信号灯
题目描述:
在窗口的北面添加一个下拉列表,该下拉列表有“红灯”,“绿灯”,“黄灯”三个选项。在窗口的中心添加一个画布,当用户在下拉列表选择某项后,画布上绘制相应的信号灯。
参考结果:
代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;import java.awt.Graphics;public class Test extends JFrame {public JComboBox box;int flag = 0;jpNewPanel jpNewPanel;public static void main(String[] args) {Test frame = new Test();frame.setSize(500, 500);//图形界面大小frame.setLocationRelativeTo(null);//图形界面出现在屏幕中央frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭frame.setTitle("信号灯");//标题frame.setVisible(true);}public Test() {box = new JComboBox();box.addItem("请选择");box.addItem("红灯");box.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {flag = box.getSelectedIndex();//判断点击的下拉框的第几个标签jpNewPanel.repaint();}});box.addItem("黄灯");box.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {flag = box.getSelectedIndex();//判断点击的下拉框的第几个标签jpNewPanel.repaint();}});box.addItem("绿灯");box.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {flag = box.getSelectedIndex();//判断点击的下拉框的第几个标签jpNewPanel.repaint();}});add(box, BorderLayout.NORTH);jpNewPanel = new jpNewPanel();add(jpNewPanel, BorderLayout.CENTER);}class jpNewPanel extends JPanel {protected void paintComponent(Graphics g) {super.paintComponent(g);g.drawOval(150, 100, 120, 120);//绘制圆形if (flag == 1) {g.setColor(Color.RED);g.fillOval(150, 100, 120, 120);//填充颜色} else if (flag == 2) {g.setColor(Color.YELLOW);g.fillOval(150, 100, 120, 120);} else if (flag == 3) {g.setColor(Color.GREEN);g.fillOval(150, 100, 120, 120);}}}
}
运行结果:
Java 实训5 编写一个窗体应用程序模拟交通信号灯相关推荐
- 【Java小项目实训】编写一个窗体程序模拟单词拼写
实训要求 窗口中有一个TextFie1d对象和一个按钮对象,将这两个对象添加到一个面板中,然后将该面板添加到窗口的北面.用户在TextField 对象中输入一个英文单词,然后回车或单击按钮,程序将创建 ...
- 用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历
实训要求: 1.使用BorderLayout 进行总体布局 2.在North 位置放置包含两个按钮( 上月和下月)的Panel 3.在South 位置放置一个Label 用于显示当前年份和月份 4.在 ...
- 【学习笔记】大三集中实训做的一个微信小程序之点餐系统(静态页面不包含java后台逻辑)
点餐系统 注:大三集中实训的时候由于没有什么经验,只实现了静态页面,但微信小程序开发文档里面所有的功能差不多都实现(视频的上传与下载以及登录等等)所以在这里记录自己的学习笔记 目录 **点餐系统** ...
- Java 实训 使用弹出对话框设置主窗体中的文本字体
实训要求: 编写一个主窗体,该窗体有"设置字体"按钮和一个文本区. 编写一个JDialog的子类; FontDialog,其中使用下拉列表显示全部 字体的名称,当选择下拉列表中某 ...
- java实训意义_java实习心得体会
通过java实习,我自身发生了重大的转变,我相信我会在JAVA开发这条路上走的更长更远,分享心得体会.下面是学习啦小编为大家收集整理的java实习心得体会,欢迎大家阅读. java实习心得体会篇1 经 ...
- java实训题:随机点名器
随机点名器 不久以前,有个小伙伴问我一个实训题,它是要写一个随机点名器,需要用到输入输出,方法的封装的思想完成的. 题目要求:编写一个随机点名程序,使其能够在全班同学中随机点中某一名同学的名字,要求随 ...
- JAVA实训项目:银行网银系统管理平台(含源码)
JAVA实训项目:银行网银系统管理平台(含源码) 文章目录 JAVA实训项目:银行网银系统管理平台(含源码) 前言 一.项目功能需求描述以及相关技术的应用 相关技术应用 二.设计过程 系统流程图 1. ...
- android订餐系统实训总结,订餐系统的java实训报告.ppt
订餐系统的java实训报告.ppt MingD互联网订餐电子商务系统 PPT模板下载 1需求分析2建立数据库3编码4页面设计5测试及调试 项目开发过程 小组分工 数据库部分我们采用Javabean对象 ...
- 计算机Java校内实训报告_计算机java实训总结的范本
计算机java实训总结的范本 这一期的实习,虽然实习的时间不长,但是总体上收获挺大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦.以下是我在这次实习中的一些感悟和体会: 1. ...
最新文章
- 干货 | XGBoost在携程搜索排序中的应用
- npm run build生成路径问题
- 【Android Studio快捷键】之导入对应包声明(import packages)
- 中国18岁美女机器人:出得厅堂,下得厨房,还要什么女朋友!
- jmeter接口测试多数据组合登陆场景
- ExtJs异步ajax调用和同步ajax调用公用方法
- [转帖]Mootools源码分析-03 -- Hash
- 【BZOJ】1798: [Ahoi2009]Seq 维护序列seq(线段树)
- SAP Spartacus部署到SAP Commerce Cloud,不同的系统设置不同的OCC Base url
- RocketMQ中的死信队列
- HDU3363_贪心
- C语言之预处理探究(一):宏
- mysql 连边聚合_MySQL分组,聚合函数,连表查询,子查询
- 《Java技术》第六次作业
- php开发环境浏览器有哪些,ie内核浏览器有哪些
- 横向对比22款思维导图工具,最好用的我觉得是这款!
- iOS 一键加入QQ群(项目常用)
- php编程怎样装数据库,php数据库管理工具phpmyadmin下载、安装、配置
- 服务架构演变~超详细
- 【数据结构】字符串 模式匹配算法的理解与实现 Brute Force算法(BF算法)与KMP算法 (C与C++分别实现)