1.

package week4;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame; public class Work2 extends JFrame implements ActionListener{
JButton certain;
public static void main(String[] args) {
// TODO Auto-generated method stub
new Work2(); }
public Work2()
{
super("交通灯");
setSize(400,100);
setBackground(Color.LIGHT_GRAY);
setLocation(300,240);
setBounds(100,100,230,230);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Font font1=new Font("宋体 ",Font.PLAIN,16);
this.setLayout(new FlowLayout());
certain=new JButton("确认");
add(certain);
certain.addActionListener(this);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
//getActionCommand()函数主要是提取按钮中的文本是啥
if(e.getActionCommand().equals("确认"))
{
certain.setText("确认一次");
}
}
}

2.交通灯例

不是很难,主要要对布局有理解,把整个框架当成一个大面板来看待,而中间又夹杂着两个小面板

上面的面板要设置成在上方

下面的面板要设置在下方,在大面板布局中要体现

上面小面板中的几个组件,就流式布局,下面的要用网格布局,因为一个一个的交通灯,都要用一个一个的标签来表示,不过的是背景颜色的更改。然后就是事件处理对象和事件源的关联。

package week4;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class GUI_2 extends JFrame implements ActionListener{
//按钮
private JButton b_open,b_close;
JButton J_h;//横向通行
JButton J_z;//纵向通行
JLabel[][] deng=new JLabel[6][6];
public GUI_2()
{
super("交通灯");
setSize(400,100);
setBackground(Color.LIGHT_GRAY);
setLocation(300,240);
setBounds(100, 100, 230, 230); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Font font1=new Font("宋体 ",Font.PLAIN,16);
Panel top=new Panel();
top.setLayout(new FlowLayout());
J_h=new JButton("横向通行");
top.add(J_h);
J_z=new JButton("纵向通行");
top.add(J_z);
add(top,BorderLayout.NORTH);
Panel last=new Panel();
last.setLayout(new GridLayout(6,6,0,0));
for(int i=0;i<6;i++)
{
for(int j=0;j<6;j++)
{
deng[i][j]=new JLabel(" ");
deng[i][j].setFont(font1);
deng[i][j].setOpaque(true);//透明
if(j==2)
{
deng[i][j].setBackground(Color.red);
}
last.add(deng[i][j]);
}
}
for(int z=0;z<6;z++) {
deng[2][z].setBackground(Color.black);
}
add(last, BorderLayout.CENTER); J_z.setEnabled(false);
this.setVisible(true); J_h.addActionListener(this);
J_z.addActionListener(this); }
public static void main(String[] args) {
// TODO Auto-generated method stub
new GUI_2(); }
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==J_h)
{
for(int i=0;i<6;i++)
{
for(int j=0;j<6;j++)
{
if(j==2)
{
deng[i][j].setBackground(Color.black);
} }
}
for(int z=0;z<6;z++) {
deng[2][z].setBackground(Color.red);
}
J_h.setEnabled(false);
J_z.setEnabled(true);
}else if(e.getSource()==J_z)
{
for(int i=0;i<6;i++)
{
for(int j=0;j<6;j++)
{
if(j==2)
{
deng[i][j].setBackground(Color.red);
} }
}
for(int z=0;z<6;z++) {
deng[2][z].setBackground(Color.black);
}
J_h.setEnabled(true);
J_z.setEnabled(false);
}
} }

第12次抽考(GUI)的更多相关文章

  1. Ubuntu 12.04 Subversion及GUI客户端RabbitVCS安装

    (经过一天的使用,发现pygtk的内存泄漏问题严重影响使用,需要打一下deepin ui做的补丁:https://github.com/linuxdeepin/deepin-ui) 1. 类似Tort ...

  2. 驾驶机动车在高速公路上倒车、逆行、穿越中央分隔带掉头的一次记6分。 答案:错误 2013《123号令-附件2》一、机动车驾驶人有下列违法行为之一,一次记12分[重新考《科目一》]:(七)驾驶机动车在高速公路上倒车、逆行、穿越中央分隔带掉头的; 可以参考:http://zhinan.jxedt.com/info/6375.htm

    这一组交通警察手势是什么信号?_2600602 交警的面部对着哪个方向就是在指挥哪个方向的车,减速慢行是右手   左转弯待转是左手!~ 哎 本题解释由台州交通驾校提供 4755支持   hmq 只能看 ...

  3. 第13次抽考(IO流)

    1.将文本文件a.txt 复制成 b.txt.要求: a. 用逐个字符复制方式: b. 用逐行读写方式: c. 用字符数组方式 2.将压缩包a.rar复制成b.rar. 注意:复制前后手工打开文件,若 ...

  4. Gradle 1.12 翻译——第十二章 使用Gradle 图形用户界面

    有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com ...

  5. macOS Sierra Git Gui Crash 解决方法

    本篇文章由:http://xinpure.com/macos-sierra-git-gui-crash-solution/ 问题描述 自从升级到 macOS Sierra 10.12 之后,git g ...

  6. java面试中的智力题

    智力题,每个正式的笔试.面试都会出,而且在面大企业的时候必然会问到,笔者曾在很多面试中,都被问到过,不过答得都不是很好,因为时间很短,加上我们有时候过于紧张,所以做出这类问题,还是有一定的难度,从这篇 ...

  7. SDOI 2019 R1 摸鱼记

    Day -1 学文化课第一天,也是这周最后一天. 昨晚 mxl 让我们今天下午放学走,大概六点的样子,感觉良好. 早读班主任送来请假条,跟我讲中午放学走??? 很懵逼,以为班主任口胡了,问了一句&qu ...

  8. Java之美[从菜鸟到高手演变]之智力题【史上最全】 (转)

    原文地址:http://blog.csdn.net/zhangerqing/article/details/8138296 PS:在一次偶然的机会中,发现了这篇文章.希望大家能开动脑经. 智力题,每个 ...

  9. 21天学通PythonPDF高清完整版免费下载|百度云盘

    百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...

随机推荐

  1. STM32 keil中编译遇到的问题

    发现 移植的SPI程序 说里面的 SPI_InitTypeDef 所有有关  SPI库函数的都找不到 这是因为 用的是  原子的程序   在 config函数中  把这个注释了

  2. Linux 使用命令发送邮件

    1.关闭本机的sendmail服务或者postfix服务 #执行下面的命令,关闭sendmail和postfix服务 #sendmial [root@db-backup ~]# service sen ...

  3. 安装jdk env

    For centos yum list java-1.8.0-openjdk* yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk- ...

  4. SystemVerilog数组(一)

  5. 代码动态更换MeshRenderer的材质Materials

    public class metrailstest : MonoBehaviour { Material[] m; Material i; public Material[] n; int index ...

  6. 西门子 S7200 以太网模块连接力控组态方法

    产品简介:北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART ...

  7. 【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心

    问题描述 在Application Gateway中,开启WAF(Web application firewall)后,现在需要把访问的日志输出到第三方分析代码中进行分析,如何来获取WAF的诊断日志呢 ...

  8. DM8_Linux详细安装步骤

    (从虚拟机配置讲起,有基础的可以直接看二,谢谢) 一.虚拟机的安装和配置 软件:virtualbox 系统:centos7 工具:Xshell 官网下载centos7,使用virtualbox安装ce ...

  9. stream的groupby出来的map是有顺序的map

    stream分组后的map是有序map List<RedisInstanceTypeDto> typeDtoList = ModuleHelper.mapAll(redisInstance ...

  10. GStreamer 1.18.4稳定的错误修复版本

    GStreamer 1.18.4稳定的错误修复版本GStreamer团队宣布最喜欢的跨平台多媒体框架的稳定的1.18版本系列中的另一个错误修复版本!此版本仅包含错误修复和重要的安全修复程序,并且从1. ...