Java实训——编写一个窗体应用程序模拟交通信号灯。

本文是关于Java编程的实训内容,通过编写一个窗体应用程序来模拟交通信号灯的工作状态,介绍了如何在Java中添加画布进行图形化展示。实训结束后,作者对学习到的添加画布技巧进行了小结。
摘要由CSDN通过智能技术生成

实训要求:


代码:

import java.awt.*;  
import java.awt.event.*;  
import javax.swing.*;  
  
import java.awt.Graphics;  
  
public class MainClass extends JFrame {  
    public JComboBox box;  
    int flag = 0;  
    jpNewPanel jpNewPanel;  
  
    public static void main(String[] args) {  
    	MainClass frame = new MainClass();  
    	frame.setBounds(650,300,550,550);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("信号灯"); 
        frame.setVisible(true);  
    }  
  
    public MainClass() {  
        box = new JComboBox();  
        box.addItem("请选择");  
        box.addItem("红灯");  
        box.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                flag = box.getSelectedIndex(); 
                jpNewP
以下是一个简单的红绿灯程序的实现: 1. 创建一个 Windows 窗体应用程序。 2. 在窗体上添加三个 Label 控件,分别用来显示红灯、黄灯和绿灯。 3. 设置 Label 的背景色,红灯为红色,黄灯为黄色,绿灯为绿色。 4. 在窗体的 Load 事件中启动一个定时器,用于控制红绿灯的变换。 5. 在定时器的 Tick 事件中,根据当前状态改变灯的显示。 6. 在窗体的 FormClosing 事件中止定时器。 下面是代码示例: ```csharp public partial class Form1 : Form { private Timer timer; private int count; public Form1() { InitializeComponent(); timer = new Timer(); timer.Interval = 1000; timer.Tick += Timer_Tick; } private void Form1_Load(object sender, EventArgs e) { timer.Start(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { timer.Stop(); } private void Timer_Tick(object sender, EventArgs e) { count++; switch (count % 3) { case 0: lblRed.BackColor = Color.Red; lblYellow.BackColor = Color.Gray; lblGreen.BackColor = Color.Gray; break; case 1: lblRed.BackColor = Color.Gray; lblYellow.BackColor = Color.Yellow; lblGreen.BackColor = Color.Gray; break; case 2: lblRed.BackColor = Color.Gray; lblYellow.BackColor = Color.Gray; lblGreen.BackColor = Color.Green; break; } } } ``` 在这个示例中,我们使用了一个计数器 count 来控制当前状态,并根据状态改变灯的显示。每次 Tick 事件触发时,计数器加 1,然后根据计数器对 3 取模,得到当前状态,根据状态改变灯的显示即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值