假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能:
⑴ 有四个按钮输入,分别称为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;
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")) {
if (s.equals("B2")) {
jl1.setBackground(Color.yellow);
jl2.setBackground(Color.white);
jl1.setOpaque(true);
jl2.setOpaque(true);
}
if (s.equals("B3")) {
jl1.setBackground(Color.white);
jl2.setBackground(Color.yellow);
jl1.setOpaque(true);
jl2.setOpaque(true);
}
if (s.equals("B4")) {
jl1.setBackground(Color.white);
jl2.setBackground(Color.white);
jl1.setOpaque(true);
jl2.setOpaque(true);
}
}
else {
jl1.setBackground(Color.white);
jl2.setBackground(Color.white);
jl1.setOpaque(true);
jl2.setOpaque(true);
}
}
}
}
上面是我写的程序,可是标签就是不显示颜色,也不知道怎么改,请各位帮忙解决一下,谢谢了!
GUI界面编程遇到的问题……请各位高手支下招…… 以下是按照书上输...
这里面的''r'' ''b'' 是两个单引号而不是双引号。
请java高手帮忙,解决一个难题呀?心急呀!
1. “文字排版” ,这年头连网上的H*小说如果不好好排版都没人看的,更何况是一堆代码和逻辑请很强的文字呢?2.“语言及文字表达”,在你上面所提的问题中我无法清晰的看出你的问题是什么?在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个...
请各位高手帮忙看看这是嘛原因???多谢多谢!!! java.io.IOException: Ca...
1.在AndroidMainfest.xml中添加:<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAG”\/>权限;2.如果还不行的时候可以试着在AndroidMainfest.xml中添加:<usespermissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"\/> 权限;3.注意AndroidMainfest.xml文件中权限的书写...
请各位高手帮忙解答一下,谢谢!:)
个人、企业类侵权投诉 违法有害信息,请在下方选择后提交 类别 色情低俗 涉嫌违法犯罪 时政信息不实 垃圾广告 低质灌水 我们会通过消息、邮箱等方式尽快将举报结果通知您。 说明 0\/200 提交 取消 领取奖励 我的财富值 -- 去登录 我的现金 -- 去登录 做任务开宝箱 累计完成 0 个任务 10任务 略略略略...
急,请JAVA高手帮忙解决一下:Error finishing response java.lang...
当tomcat restart后session就会release db connection。如果有数据库连接的话,看看是否数据库连接没有释放 1、是否数据连接池最大值设置过小,2、回收客户端可能无效占用的数据库连接设置过大 3、无效占用数据库连接检测间隔过大 4、未关闭空闲连接。你再试试 希望对你有帮助哦,祝你好运 ...
...弹起按钮执行令一个命令?各位高手请帮帮忙呀!!!
简单的方法是,按下按钮执行的是ButtonDownFcn回调函数,弹起按钮执行的就是常见的Callback回调函数,右键点击按钮,选择view callbacks生成相应的函数即可。
手机java应用程序错误是怎么回事啊?
一、网络设置的问题 这种原因比较多出现在需要手动指定IP、网关、DNS服务器联网方式下,及使用代理服务器上网的。仔细检查计算机的网络设置。二、DNS服务器的问题 三、IE浏览器本身的问题 当IE浏览器本身出现故障时,自然会影响到浏览了;或者IE被恶意修改破坏也会导致无法浏览网页。这时可以尝试用“金山...
JAVA,各位大虾帮我解释哈,谢谢
而从C里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。优点:最小、最快的语言。汇编高手能编写出比任何其他语言能...
请各位高手帮忙看一下这个程序是什么语言
可以确定,绝不是C语言,因为C语言的语句是以分号结尾的,而且每个函数首尾都有花括号。根据语句与函数来看,应该是VB。
刚接触Java,请教各位高手一个很弱智的问题。 massage m和m.massage是...
Message m 是指你=后面new Message返回的是一个Message对象,m.message是只你通过这个Message去获取它里面的message的属性值.这里这个m其实就是Message的一个引用