「模拟灯光JAVA」模拟灯光科目三 语音播报

博主:adminadmin 2023-01-02 12:57:07 588

今天给各位分享模拟灯光JAVA的知识,其中也会对模拟灯光科目三 语音播报进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎样把Java编程页面的灯光变得暗

可以修改编码的背景Window---Preferences,General---Editors---Text Editors,右侧找到Background color,取消默认,选择喜欢的颜色,推荐天蓝色,淡棕色等

如何用java来实现灯泡异常问题

模拟了一下。。设置成B1按下时B4弹起,B4按下时B1弹起,不然有的时候电源是开是关不好判定。。如果B1/B4是一个按钮就好了 = =。为方便观察,间隔时间设为0.5s。另外加了两个按钮用来控制灯泡1、2是否故障。import java.awt.*;

import java.awt.event.*;

import javax.swing.*;class Bulb extends JFrame

{ private final int INTER_SECOND = 500; // 间隔时间 private BulbButton b1 = new BulbButton("B1");

private BulbButton b2 = new BulbButton("B2");

private BulbButton b3 = new BulbButton("B3");

private BulbButton b4 = new BulbButton("B4"); private BulbLight l1 = new BulbLight(1);

private BulbLight l2 = new BulbLight(2); private JButton bb1 = new BuldStateButton(l1);

private JButton bb2 = new BuldStateButton(l2); private JLabel state = new JLabel("关闭"); private CheckLightThread thread; public Bulb() {

this.setTitle("灯泡模拟");

this.setSize(300, 200);

this.setLayout(new GridLayout(4, 1)); this.add(new JPanel() {

{

this.setLayout(new FlowLayout(FlowLayout.CENTER));

this.add(new JLabel("电源状态:"));

this.add(state);

}

}); this.add(new JPanel() {

{

this.setLayout(new FlowLayout(FlowLayout.CENTER));

this.add(l1);

this.add(l2);

}

}); this.add(new JPanel() {

{

this.setLayout(new FlowLayout(FlowLayout.CENTER));

this.add(b1);

this.add(b2);

this.add(b3);

this.add(b4);

}

}); this.add(new JPanel() {

{

this.setLayout(new FlowLayout(FlowLayout.CENTER));

this.add(bb1);

this.add(bb2);

}

}); setButtons(); this.setVisible(true);

} private void setButtons() {

b2.setEnabled(false);

b3.setEnabled(false);

b4.setSelected(true); b1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

b1.changeState();

if(b1.isSelected()) {

b4.setSelected(false);

b2.setEnabled(true);

b3.setEnabled(true);

} else {

b2.setSelected(false);

b3.setSelected(false);

b4.setSelected(true);

b2.setEnabled(false);

b3.setEnabled(false);

}

changeSystemState();

}

}); b2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(!b1.isSelected() b4.isSelected()) return; // 在电源关闭状态下,B2和B3按钮不起作用

b2.changeState();

if(b2.getCount() b3.getCount()) { // 如果B2被按下的次数比B3被按下的次数多,L1亮

l1.change(true);

l2.change(false);

}

}

}); b3.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(!b1.isSelected() b4.isSelected()) return; // 在电源关闭状态下,B2和B3按钮不起作用

b3.changeState();

if(b3.getCount() = b2.getCount()) { // 如果B2被按下的次数比B3被按下的次数少,L2亮

l1.change(false);

l2.change(true);

}

}

}); b4.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

b4.changeState();

if(b4.isSelected()) {

b1.setSelected(false);

b2.setSelected(false);

b3.setSelected(false);

b2.setEnabled(false);

b3.setEnabled(false);

} else {

b1.setSelected(true);

b2.setEnabled(true);

b3.setEnabled(true);

}

changeSystemState();

}

});

} private void changeSystemState() {

if(!b1.isSelected() b4.isSelected()) { // 在电源关闭状态下,灯应不亮

state.setText("关闭");

l1.change(false);

l2.change(false);

thread.pause();

}

if(b1.isSelected() !b4.isSelected()) { // 从最近一次电源打开状态算起

state.setText("开启");

b2.clearCount();

b3.clearCount();

thread = new CheckLightThread();

thread.start();

}

} public static void main(String[] args)

{

new Bulb();

} private class BulbButton extends JToggleButton

{

private int count = 0; public BulbButton(String text) {

super(text);

} public void changeState() {

if(isSelected()) {

++count;

}

} public void clearCount() {

count = 0;

} public int getCount() {

return count;

} } private class BulbLight extends JPanel

{ private int id; private boolean bad; private boolean lightState; private JLabel label; private JLabel state = new JLabel("【暗】"); private JLabel state2 = new JLabel("-正常"); public BulbLight(int id) {

this.id = id;

label = new JLabel("灯泡" + id);

this.add(label);

this.add(state);

this.add(state2);

} public int getId() {

return id;

} public void light() {

this.state.setText("【" + ("【暗】".equals(this.state.getText())?"亮":"暗") + "】");

} public void change(boolean light) {

if(bad)return;

lightState = light;

this.state.setText("【" + (lightState?"亮":"暗") + "】");

} public boolean isBad() {

return bad;

} public void setState(boolean bad) {

this.bad = bad;

state2.setText((bad?"-故障":"-正常"));

if(bad) {

this.state.setText("【暗】");

} else {

this.state.setText("【" + (lightState?"亮":"暗") + "】");

}

} } private class BuldStateButton extends JButton implements ActionListener

{

private BulbLight light; public BuldStateButton(BulbLight light) {

super("破坏灯泡" + light.getId());

this.light = light;

this.addActionListener(this);

} public void actionPerformed(ActionEvent e) {

if(("破坏灯泡" + light.getId()).equals(this.getActionCommand())) {

this.setText("修复灯泡" + light.getId());

light.setState(true);

}

else {

this.setText("破坏灯泡" + light.getId());

light.setState(false);

}

}

} private class CheckLightThread extends Thread

{ private boolean runFlag = true; public void pause() {

this.runFlag = false;

} public void run() {

while(runFlag) {

try

{

if (l1.isBad() !l2.isBad())

{

l2.light();

}

if (!l1.isBad() l2.isBad())

{

l1.light();

}

sleep(INTER_SECOND);

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

}

}

}截图如下:

灯光模拟的指令有哪些?

【太平洋汽车网】灯光模拟的指令有:夜间在没有路灯,照明不良条件下行驶。此指令打开前照灯。

请将前照灯变换成远光。抬转向灯一次。

夜间与机动车会车。或者,夜间在窄桥与非机动车会车。或者,夜间近距离跟车行驶.。以上三种指令都是抬灯一次,变换成近光。这种指令是三选一。

夜间通过没有交通信号灯控制的路口。或者,夜间通过急弯,拱桥。或者,夜间通过人行横道线。或者,夜间通过坡路,拱桥。或者,夜间超越前方车辆。遇有此类指令,连续抬灯两次。

夜间在道路上发生故障,妨碍交通又难以移动。此指令要求关前照灯,保留示宽灯,同时按下警示灯。或者。雾天行驶。此指令要求学员开启雾灯,同时按下警示灯。

科目三模拟夜间灯光考试结束,请关闭所有灯光。(图/文/摄:太平洋汽车网张霞1)

java控制红绿灯及模拟车辆运动

写两个程序分别模拟红绿灯和汽车:

1)红绿灯程序以报文形式通知汽车程序;

2)汽车程序需要用多线程来实现。

3)红绿灯程序用个循环,每隔n分钟红绿灯转换,同时通知汽车程序;

模拟交通灯 单片机C51,要电路图和程序

package guidemo;

import java.awt.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

/**

* pTitle: 图形用户界面/p

*

* pDescription: 简单的图形界面编程/p

*

* pCopyright: Copyright (c) 2006/p

*

* pCompany: /p

*

* @author vic

* @version 1.0

*/

public class ColorFrame extends Frame implements MouseListener {

Label L; //标签

TextField T; //文本域

Button B1, B2; //按钮

public ColorFrame() {

this.setLayout(null); //想要手动指定各组件的的位置

L = new Label("输入学号:"); //设定标签L内容

L.setBounds(60, 50, 50, 25); //设定标签L外观

this.add(L); //将标签L添加到窗口中

T = new TextField("请在这里输入"); //设定文本域T的内容

T.setBounds(125, 50, 90, 25); //设定文本域T的外观

this.add(T); //将文本域T添加到窗口中

B1 = new Button("变红!"); //设定按钮B1的内容

B1.setBounds(25, 90, 90, 25); //设定按钮B1的外观

B1.addMouseListener(this);//在B1上注册鼠标监听器

this.add(B1); //将按钮B1添加到窗口中

B2 = new Button("变绿!");

B2.setBounds(125, 90, 90, 25);

B2.addMouseListener(this);

this.add(B2);

WindowDestroyer Listener = new WindowDestroyer(); //创建关闭窗口监听器

this.addWindowListener(Listener); //将监听器添加到窗口中

this.setBackground(Color.yellow); //设定窗口背景颜色

this.setTitle("This is Frame!"); //设定窗口标题文字

this.setBounds(0, 0, 250, 220); //设定窗口位置和大小

this.setVisible(true); //显示窗口

}

public void mouseClicked(MouseEvent e) {

if (e.getComponent() == B1) {//getComponent返回按钮上面的字符串

this.setBackground(Color.red);

}

if (e.getComponent() == B2) {

this.setBackground(Color.green);

}

}

public void mouseExited(MouseEvent e) {}

public void mouseEntered(MouseEvent e) {}

public void mouseReleased(MouseEvent e) {}

public void mousePressed(MouseEvent e) {}

public static void main(String[] args) {

new ColorFrame();

}

}

模拟灯光JAVA的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于模拟灯光科目三 语音播报、模拟灯光JAVA的信息别忘了在本站进行查找喔。