java写的灯泡程序

java写的灯泡程序,第1张

import javax.swing.*

import java.awt.*

import java.awt.event.ItemEvent

import java.awt.event.ItemListener

import java.awt.geom.Ellipse2D

public class test extends JFrame {

JComboBox cb = new JComboBox()

JPanel p1 = new JPanel()

drawPanel p2 = new drawPanel()

String str = ""

public test()

{

this.setLayout(new BorderLayout())

p1.setLayout(new GridLayout(1,1))

cb.addItem("红灯")

cb.addItem("绿灯")

cb.addItem("黄灯")

cb.addItemListener(new ItemListener(){

public void itemStateChanged(ItemEvent arg0) {

// TODO Auto-generated method stub

if(arg0.getItem().equals("红灯"))

{

p2.repaint()

p2.i = 1

}

if(arg0.getItem().equals("绿灯"))

{

p2.i = 2

p2.repaint()

}

if(arg0.getItem().equals("黄灯"))

{

p2.i = 3

p2.repaint()

}

}

})

p1.add(cb)

this.add(p1,BorderLayout.NORTH)

this.add(p2,BorderLayout.CENTER)

this.setSize(200,400)

this.setVisible(true)

}

class drawPanel extends JPanel

{

int i = 0

public void paint(Graphics g)

{

Graphics2D g2 = (Graphics2D)g

Ellipse2D circle1 = new Ellipse2D.Double()

Ellipse2D circle2 = new Ellipse2D.Double()

Ellipse2D circle3 = new Ellipse2D.Double()

circle1.setFrameFromCenter(90,60,130,100)

if(i == 1)

{

g2.setColor(Color.RED)

}else g2.setPaint(Color.GRAY)

g2.fill(circle1)

circle2.setFrameFromCenter(90,160,130,200)

if(i == 2)

{

g2.setColor(Color.GREEN)

}else g2.setColor(Color.GRAY)

g2.fill(circle2)

circle3.setFrameFromCenter(90,260,130,300)

if(i == 3)

{

g2.setPaint(Color.YELLOW)

}else g2.setPaint(Color.GRAY)

g2.fill(circle3)

}

}

public static void main(String[] args) {

test t = new test()

}

}

以下是一个单片机间隔点亮一LED灯的C语言程序,以8051单片机为例:

c

Copy code

#include

//包含了AT89C51的寄存器定义

void delay(unsigned int xms) //延时函数,xms为要延时的毫秒数

{

unsigned int i,j

for(i=xmsi>0i--)

for(j=112j>0j--)

}

void main()

{

P1=0x00//将P1口全部置为0,防止其它引脚影响

while(1)

{

P1=0xff//点亮P1口第0个引脚上的LED灯,0xff为二进制的11111111

delay(1000)//延时1秒

P1=0x00//将P1口全部置为0,熄灭LED灯

delay(1000)//延时1秒

}

}

上述程序的作用是在单片机的P1口上间隔点亮一盏LED灯,每隔1秒钟灯的状态会发生一次变化,即由点亮状态变为熄灭状态,再由熄灭状态变为点亮状态。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11478681.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存