java红绿灯代码 红绿灯编程代码

java 线程实现一个红绿灯问题

关键是启动一个线程控制颜色。代码如下。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的抚顺县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

import java.applet.Applet;

import java.awt.Color;

import java.awt.Graphics;

import java.util.concurrent.Executors;

import java.util.concurrent.ScheduledExecutorService;

import java.util.concurrent.TimeUnit;

public class Signal extends Applet {

int width = 200, height = 240;

int w = 50, h = 50;

int x = (width - w) / 2, y1 = (height - h * 3) / 3, y2 = y1 + h, y3 = y2 + h;

Color c = Color.RED;

@Override

public void init() {

ScheduledExecutorService exec = Executors.newScheduledThreadPool(1);

exec.scheduleAtFixedRate(new Runnable() {

@Override

public void run() {

if (c == Color.RED) {

c = Color.YELLOW;

} else if (c == Color.YELLOW) {

c = Color.GREEN;

} else if (c == Color.GREEN) {

c = Color.RED;

}

repaint();

}

}, 5, 5, TimeUnit.SECONDS);

}

@Override

public void paint(Graphics g) {

setBackground(Color.white);

// all gray

g.setColor(Color.LIGHT_GRAY);

g.fillOval(x, y1, w, h);

g.fillOval(x, y2, w, h);

g.fillOval(x, y3, w, h);

if (c == Color.RED) {

g.setColor(Color.RED);

g.fillOval(x, y1, w, h);

} else if (c == Color.YELLOW) {

g.setColor(Color.YELLOW);

g.fillOval(x, y2, w, h);

} else if (c == Color.GREEN) {

g.setColor(Color.GREEN);

g.fillOval(x, y3, w, h);

}

}

}

求一个简易的JAVA程序---红绿灯,有两个部分,用下拉表控制灯的颜色,选择红,画布中的灯就变红的那种

按照你的要求,写出的程序如下:

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class TrafficLight {

JFrame jf=new JFrame("Traffic Light");

JPanel jp=new JPanel();

JComboBox jcb=new JComboBox();

public TrafficLight(){

jcb.addItem("红灯");

jcb.addItem("黄灯");

jcb.addItem("绿灯");

jcb.addItemListener(new JComboBoxListener());

jf.add(jcb,BorderLayout.NORTH);

jf.add(jp,BorderLayout.CENTER);

jf.setSize(400,400);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

new TrafficLight();

}

class JComboBoxListener implements ItemListener{

@Override

public void itemStateChanged(ItemEvent ie) {

Graphics g=jf.getGraphics();

if(ie.getItem().equals("红灯")){

g.setColor(Color.RED);

g.fillOval(200, 200, 100, 100);

}else if(ie.getItem().equals("黄灯")){

g.setColor(Color.YELLOW);

g.fillOval(200, 200, 100, 100);

}else if (ie.getItem().equals("绿灯")){

g.setColor(Color.GREEN);

g.fillOval(200, 200, 100, 100);

}

}

}

}

java 红绿灯 代码

//按回车键就可以

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Print {

public static void main(String[] args) {

JFrame jFrame = new JFrame ();

final JLabel jLabel = new JLabel ("按回车键!");

jFrame.setLayout(null);

jLabel.setBounds(80,50,500,80);

jFrame.add(jLabel);

jFrame.setSize(200, 200);

jFrame.setLocation(200, 300);

jFrame.setVisible(true);

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jFrame.addKeyListener(new KeyAdapter () {

int n = 0;

public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();

if (keyCode == KeyEvent.VK_ENTER) {

n++;

if (n == 1)

jLabel.setText("绿");

else if (n == 2) {

jLabel.setText("红");

} else if (n == 3) {

jLabel.setText("黄");

n = 0;

}

}

}

});

}

}

用java编写交通信号灯

按照你的要求编写的红绿灯程序,你看看吧,比较简单。

完整的程序如下:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.awt.Graphics;

public class TrafficLight extends JFrame{

JRadioButton jrbYellow,jrbGreen,jrbRed;

int flag=0;

jpNewPanel jpNewPanel;

public static void main(String[] args){

TrafficLight frame=new TrafficLight();

frame.setSize(500,200);

frame.setLocationRelativeTo(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setTitle("TrafficLight");

frame.setVisible(true);

}

public TrafficLight(){

jpNewPanel=new jpNewPanel();

add(jpNewPanel,BorderLayout.CENTER);

JPanel jpRadioButtons=new JPanel();

jpRadioButtons.setLayout(new GridLayout(1,3));

jpRadioButtons.add(jrbYellow=new JRadioButton("Yellow"));

jpRadioButtons.add(jrbGreen=new JRadioButton("Green"));

jpRadioButtons.add(jrbRed=new JRadioButton("Red"));

add(jpRadioButtons,BorderLayout.SOUTH);

ButtonGroup group=new ButtonGroup();

group.add(jrbYellow);

group.add(jrbGreen);

group.add(jrbRed);

jrbYellow.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

flag=2;

jpNewPanel.repaint();

}

});

jrbGreen.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

flag=1;

jpNewPanel.repaint();

}

});

jrbRed.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

flag=3;

jpNewPanel.repaint();

}

});

}

class jpNewPanel extends JPanel{

protected void paintComponent(Graphics g){

super.paintComponent(g);

g.drawRect(0,0,40,100);

g.drawOval(10,10,20,20);

g.drawOval(10,40,20,20);

g.drawOval(10,70,20,20);

if(flag==1){

g.setColor(Color.GREEN);

g.fillOval(10, 70, 20, 20);

}

else if(flag==2){

g.setColor(Color.YELLOW);

g.fillOval(10, 40, 20, 20);

}

else if(flag==3){

g.setColor(Color.RED);

g.fillOval(10, 10, 20, 20);

}

}

}

}

Java红绿灯 求大神!!急啊

import java.awt.Color;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Way extends JPanel {

JButton red;

public Way() {

red= new JButton("换灯");

setBackground(Color.yellow);

setSize(new Dimension(320, 260));

setPreferredSize(new Dimension(320, 260) );

JPanel btnPanel = new JPanel();

btnPanel.setLayout(new FlowLayout());

red.setLayout(new FlowLayout());// 将单选按钮加入按钮面板

btnPanel.add(red);

add(red);

}

private void lightRed(Graphics g) {

g.setColor(Color.red);

g.fillOval(getWidth() / 2, 30, 15, 15);

g.setColor(Color.black);

g.fillOval(getWidth() / 2, 50, 15, 15);

g.fillOval(getWidth() / 2, 70, 15, 15);

}

private void lightYellow(Graphics g) {

g.setColor(Color.yellow);

g.fillOval(getWidth() / 2, 50, 15, 15);

g.setColor(Color.black);

g.fillOval(getWidth() / 2, 30, 15, 15);

g.fillOval(getWidth() / 2, 70, 15, 15);

}

private void lightGreen(Graphics g) {

g.setColor(Color.green);

g.fillOval(getWidth() / 2, 70, 15, 15);

g.setColor(Color.black);

g.fillOval(getWidth() / 2, 30, 15, 15);

g.fillOval(getWidth() / 2, 50, 15, 15);

}

protected void paintComponent(Graphics g) {

super.paintComponents(g);

Way a = new Way();

g.clearRect(0, 0, getWidth(), getHeight());

g.drawRect(getWidth() / 2, 30, 30, 80);

red.addActionListener(new ActionListener() {

int f1 = 0;

public void actionPerformed(ActionEvent e) {

Graphics g = getGraphics();

switch (f1) {

case 0:

a.lightRed(g);

break;

case 1:

a.lightYellow(g);

break;

case 2:

a.lightGreen(g);

break;

}

f1++;

if(f12) f1=0;

};

});

}

public static void main(String[] args) {

JFrame fr = new JFrame("邮件界面模拟");

fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 点击x结束程序

Container contentPane = fr.getContentPane();

// 得到窗口内容面板

contentPane.add(new Way());

fr.pack();

fr.setVisible(true); // 设置窗口可见

}

}大致帮你改了下,不知道符合不符合你的要求,有问题请追问


本文题目:java红绿灯代码 红绿灯编程代码
文章链接:http://scyanting.com/article/hhgeie.html