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()

}

}

建议用eclipse工具,这样的一个腔返类,用工具很快就生成了。

public

class

light

{

private

int

watts

private

boolean

indicator

/**

*

@param

watts

*

:创建具有watts瓦的对象

*/

public

light(int

watts)

{

this.watts

=

watts

}

/**

*

@param

watts

*

:创建具有watts瓦的对象

*

*

@param

indicator

*

:创建具有watts瓦,开关状态

为indicator的对象

*/

public

light(int

watts,

boolean

indicator)

{

super()

this.watts

=

watts

this.indicator

=

indicator

}

/**

*

开灯,即灯的状态置为开

*/

public

void

swithoh()

{

this.indicator

=

true

}

/橘圆洞**

*

关灯

*/

public

void

printlnoff()

{

this.indicator

=

false

}

/**

*

输出灯的瓦数信圆枯息和开灯的状态·

*/

public

void

printlnfo()

{

system.out.println("灯的瓦数是:"

+

this.watts

+

"\n开关状态是:"

+

this.indicator)

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存