
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)
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)