作业一

 假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能:

    ⑴ 有四个按钮输入,分别称为B1,B2,B3和B4;

    ⑵ 有两个灯泡作为输出,分别称为L1和L2;

    ⑶ B1是打开电源的按钮;

    ⑷ B4是关闭电源的按钮;

    ⑸ B2和B3 是操作按钮;

    ⑹ B1被按下后及B4被按下前,系统应称为电源打开状态;

    ⑺ B4被按下后及B1被按下前,系统应称为电源关闭状态;

    ⑻ 在电源关闭状态下,B2和B3按钮不起作用;

    ⑼ 在电源关闭状态下,灯应不亮;

    ⑽ 从最近一次电源打开状态算起,如果B2被按下的次数比B3被按下的次数多,L1亮,否则L2亮。

    ⑾ 任何时候都不能有一个以上的灯泡亮;

    ⑿ 如果其中的一个灯泡出现故障,另一个灯泡应以2秒钟的间隔闪烁,而不管B2和B3的操作过程。当B4按下时,闪烁停止;当B1被按下时,闪烁重新开始。当故障被排除后闪烁停止,系统恢复正常状态。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class DP {
 JFrame jf;
 JButton jb1,jb2,jb3,jb4;
 JLabel jl1,jl2;
 JPanel jp1,jp2;
 boolean on_off = false;
 
 public static void main(String args[]){
  DP dp=new DP();
  dp.go();
 }
 void go(){
  jf=new JFrame("灯泡");
  jb1=new JButton("B1");
  jb2=new JButton("B2");
  jb3=new JButton("B3");
  jb4=new JButton("B4");
  jb1.setToolTipText("电源开");
  jb2.setToolTipText("L1灯亮");
  jb3.setToolTipText("L2灯亮");
  jb4.setToolTipText("电源关");
  jl1=new JLabel();
  jl1.setBorder(BorderFactory.createLineBorder(Color.white, 50));
  jl2=new JLabel();
  jl2.setBorder(BorderFactory.createLineBorder(Color.white, 50));
  JPanel jp1=new JPanel();
  JPanel jp2=new JPanel();
  jp1.add(jl1,BorderLayout.WEST);
  jp1.add(jl2,BorderLayout.EAST);
  jp2.add(jb1);
  jp2.add(jb2);
  jp2.add(jb3);
  jp2.add(jb4);
  Monitor mt=new Monitor();
  jb1.addActionListener(mt);
  jb2.addActionListener(mt);
  jb3.addActionListener(mt);
  jb4.addActionListener(mt);
  jf.add(jp1,BorderLayout.NORTH);
  jf.add(jp2, BorderLayout.SOUTH);
  jf.setBackground(Color.BLACK);
  jf.setSize(300, 200);
  jf.setDefaultCloseOperation(1);
  jf.setVisible(true);
 }
 
 class Monitor implements ActionListener{
  public void actionPerformed(ActionEvent e) {
   String s=e.getActionCommand();
   if (s.equals("B1")) on_off = true;
   if (on_off) {
    if (s.equals("B2")) {
     jl1.setBorder(BorderFactory.createLineBorder(Color.yellow, 50));
     jl2.setBorder(BorderFactory.createLineBorder(Color.white, 50));
     jl1.setOpaque(true);
     jl2.setOpaque(true);
    }
    if (s.equals("B3")) {
     jl1.setBorder(BorderFactory.createLineBorder(Color.white, 50));
     jl2.setBorder(BorderFactory.createLineBorder(Color.yellow, 50));
     jl1.setOpaque(true);
     jl2.setOpaque(true);
    }
    if (s.equals("B4")) {
     jl1.setBorder(BorderFactory.createLineBorder(Color.white, 50));
     jl2.setBorder(BorderFactory.createLineBorder(Color.white, 50));
     jl1.setOpaque(true);
     jl2.setOpaque(true);
     on_off = false;
    }
   }
   else {
    jl1.setBorder(BorderFactory.createLineBorder(Color.white, 50));
    jl2.setBorder(BorderFactory.createLineBorder(Color.white, 50));
    jl1.setOpaque(true);
    jl2.setOpaque(true);
   }
  }

 

转载于:https://www.cnblogs.com/1409030208l/p/6072967.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
叶庆生老师的软件工程与方法学的上机作业,包括: 1. 假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能: ⑴ 有四个按钮输入,分别称为B1,B2,B3和B4; ⑵ 有两个灯泡作为输出,分别称为L1和L2; ⑶ B1是打开电源的按钮; ⑷ B4是关闭电源的按钮; ⑸ B2和B3 是操作按钮; ⑹ 在B1被按下后及B4被按下前,系统应称为电源打开状态; ⑺ 在B4被按下后及B1被按下前,系统应称为电源关闭状态; ⑻ 在电源关闭状态下,B2和B3按钮不起作用; ⑼ 在电源关闭状态下,灯应不亮; ⑽ 从最近一次电源打开状态算起,如果B2被按下的次数比B3被按下的次数多,L1亮,否则L2亮。 ⑾ 任何时候都不能有一个以上的灯泡亮; ⑿ 如果其中的一个灯泡出现故障,另一个灯泡应以2秒钟的间隔闪烁,而不管B2和B3的操作过程。当B4按下时,闪烁停止;当B1被按下时,闪烁重新开始。当故障被排除后闪烁停止,系统恢复正常状态。 2.1.一家公司有许多部门,部门名唯一地确定一个部门;每个部门由一名经理管理,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。该公司有许多名员工为之工作,员工又进一步划分为经理和工人两类。每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。使用对象模型描述类对象所具有的属性,以及公司类对象提供的服务。 2.2建立一个图书馆系统的用例视图 还有其他很多

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值