java封装例子打开灯泡_用Java解决灯泡问题(作业1)

import java.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;import javax.swing.*;public classBox {

JFrame frame;

JButton button1,button2,button3,button4;

JLabel label1,label2;

JPanel panel1,panel2;boolean off =false;public static voidmain(String args[])

{

Box box=newBox();

box.go();

}voidgo(){

frame=new JFrame("盒子");

button1=new JButton("B1");

button2=new JButton("B2");

button3=new JButton("B3");

button4=new JButton("B4");

button1.setToolTipText("打开电源");

button2.setToolTipText("L1灯亮");

button3.setToolTipText("L2灯亮");

button4.setToolTipText("关闭电源");

label1=newJLabel();

label1.setBorder(BorderFactory.createLineBorder(Color.white,60));

label2=newJLabel();

label2.setBorder(BorderFactory.createLineBorder(Color.white,60));

JPanel panel1=newJPanel();

JPanel panel2=newJPanel();

panel1.add(label1,BorderLayout.WEST);

panel1.add(label2,BorderLayout.EAST);

panel2.add(button1);

panel2.add(button2);

panel2.add(button3);

panel2.add(button4);

Listener listener=newListener();

button1.addActionListener(listener);

button2.addActionListener(listener);

button3.addActionListener(listener);

button4.addActionListener(listener);

frame.add(panel1,BorderLayout.NORTH);

frame.add(panel2,BorderLayout.SOUTH);

frame.setBackground(Color.BLACK);

frame.setSize(350,250);

frame.setDefaultCloseOperation(1);

frame.setVisible(true);

frame.setResizable(false);

}class Listener implements ActionListener//内部类,便于调用Box类中的成员变量on_off

{public voidactionPerformed(ActionEvent e)

{

String s=e.getActionCommand();if (s.equals("B1"))

{

off=true;

}if(off) {if (s.equals("B2"))

{

label1.setBorder(BorderFactory.createLineBorder(Color.yellow,60));

label2.setBorder(BorderFactory.createLineBorder(Color.white,60));

label1.setOpaque(true);

label2.setOpaque(true);

}if (s.equals("B3"))

{

label1.setBorder(BorderFactory.createLineBorder(Color.white,60));

label2.setBorder(BorderFactory.createLineBorder(Color.yellow,60));

label1.setOpaque(true);

label2.setOpaque(true);

}if (s.equals("B4"))

{

label1.setBorder(BorderFactory.createLineBorder(Color.white,60));

label2.setBorder(BorderFactory.createLineBorder(Color.white,60));

label1.setOpaque(true);

label2.setOpaque(true);

off=false;

}

}else{

label1.setBorder(BorderFactory.createLineBorder(Color.white,60));

label2.setBorder(BorderFactory.createLineBorder(Color.white,60));

label1.setOpaque(true);

label2.setOpaque(true);

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值