JavaDailyReports10_08
------------恢复内容开始------------
AWT组件
1.1Frame组件与Panel组件
1.1.1显示框架窗口
1 package awt;
2
3 import java.awt.Color;
4 import java.awt.Frame;
5
6 public class TestFrame {
7
8 public static void main(String[] args) {
9 // TODO 自动生成的方法存根
10
11 Frame f=new Frame ("My First Test!"); //通过构造方法指定窗口标题
12
13 f.setLocation(500,500); //设置窗口显示在电脑屏幕的什么位置,像素坐标值
14
15 f.setSize(300,200); //设置窗口大小
16 f.setBackground(Color.blue); //设置窗口颜色
17 f.setResizable(true); //设置窗口大小是否可变
18 f.setVisible(true); //设置窗口是否可见
19
20 }
21 }
1.1.2显示多个框架窗口
1 package awt;
2
3 import java.awt.Color;
4 import java.awt.Frame;
5
6 public class MyFrame extends Frame {
7 static int id=0; //定义静态成员变量记录创建的MyFrame对象的个数
8
9 /*
10 * 调用父类构造方法设置窗口标题等
11 *
12 */
13 MyFrame(int x,int y,int w,int h,Color color){
14 super("Myframe"+(++id));
15 setBackground(color);
16 setBounds(x,y,w,h);
17 setVisible(true);
18 }
19 public static void main(String args[]) {
20 MyFrame f1= new MyFrame(100,100,300,100,Color.DARK_GRAY);
21 MyFrame f2= new MyFrame(100,200,300,100,Color.green);
22 MyFrame f3= new MyFrame(400,100,300,100,Color.BLUE);
23 MyFrame f4= new MyFrame(400,200,300,100,Color.BLACK);
24 }
25
26
27 }
28
29
30
1.1.3在框架窗口中显示一个面板 (Frame中显示一个Panel)
1 package awt;
2
3 import java.awt.Color;
4 import java.awt.Frame;
5 import java.awt.Panel;
6
7 public class TestPanel {
8
9 public static void main(String[] args) {
10 // TODO 自动生成的方法存根
11 Frame f= new Frame("Java Frame with Panel");
12 Panel p = new Panel(null);
13 f.setLayout(null); //窗口不使用布局管理器
14
15 /*
16 * 窗口的各个组件的位置由组件自己通过方法指定,
17 * 最后调用add方法把面板加到窗口中
18 *
19 */
20
21
22
23
24 f.setBounds(100,100,300,200);
25 f.setBackground(new Color(0,0,102));
26 p.setBackground(Color.BLUE);
27 p.setBounds(50,50,50,50);
28 f.add(p);
29 f.setVisible(true);
30 }
31
32 }
1.2 布局管理器
1.2.1 FlowLayout
按照组件添加到容器中的顺序从左到右,从上到下依次排列,因此也称为流式布局!
是Panel的默认布局!
1 package awt;
2 import java.awt.*;
3 public class TestFlowLayout {
4
5 public static void main(String[] args) {
6 // TODO 自动生成的方法存根
7 Frame f=new Frame("Java Frame");
8 // FlowLayout l=new FlowLayout(FlowLayout.LEFT);
9 FlowLayout l=new FlowLayout(FlowLayout.TRAILING);
10 f.setLayout(l);
11 f.setLocation(300,400);
12 f.setSize(300,200);
13 f.setBackground(new Color(204,204,255));
14 for(int i=1;i<=7;i++)
15 {
16 f.add(new Button("Button"+i));
17 }
18 f.setVisible(true);
19 }
20 /*
21 * FlowLayout 一共有3个构造方法
22 * ①没有参数 居中对齐 组件间间距默认5像素
23 * ②一个参数 FlowLayout(int align) 指定对齐方式
24 * 有 FlowLayout l=new FlowLayout(FlowLayout.LEFT);
25 * FlowLayout l=new FlowLayout(FlowLayout.CENTER);
26 * LEADING (与容器的方向的开始边对齐)
27 * TRAILING (与容器的方向的结束边对齐)
28 *
29 * ③ 三个参数的构造方法 FlowLayout(int align,int hgap, int vgap)
30 * 指定对齐方式以及组件水平和垂直间距
31 *
32 */
33 }
JavaDailyReports10_08的更多相关文章
随机推荐
- hi-nginx-java的无配置路由配置
hi-nginx-java既可以通过实现hi.servlet抽象来像Flask那样快速配置路由,例如: 1 hi.route r = hi.route.get_instance(); 2 r.get( ...
- PyQt(Python+Qt)学习随笔:QListView的movement属性
老猿Python博文目录 老猿Python博客地址 QListView的movement属性用于控制在视图中怎么移动数据项,其类型为枚举类型QListView.Movement,有如下取值: Stat ...
- [GKCTF2020]CheckIN 注意了解多方面的东西
打开之后是这样的,没有发现反序列化函数,但是发现有一个@eval,想到了一句话,这是用base64进行传参首先传参phpinfo();看看,需要经过base64编码 http://e0cc90ac-d ...
- python菜鸟教程学习10:数据结构
列表方法 list.append(x):把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]. list.extend(L):通过添加指定列表的所有元素来扩充列表,相当于 a[len( ...
- hadoop技术产生
一.为什么有大数据 我的理解是: 1)数据量达到了传统数据库的瓶颈 2)数据量的激增 3)硬件成本的降低 [ 技术水平的上升 ] 4)想通过大量的数据发现潜在的商业价值 二.什么是大数据 大数据指的是 ...
- 20分钟带你掌握JavaScript Promise和 Async/Await
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://www.freecodecamp.org/news/learn-promise-a ...
- Ubuntu18开机执行shell命令
1.打开shell终端,输入 sudo vi /etc/rc.local 2.在编辑器里面输入自己要启动的脚本,特别强调:脚本(程序)要有可执行权限 #!/bin/bash echo "ru ...
- 超详细!使用 LVS 实现负载均衡原理及安装配置详解---转
负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学 ...
- 看我如何用微信上线CobaltStrike
前言 DLL劫持漏洞是老生常谈的一个漏洞,已经被前辈们各种奇技淫巧玩烂.但DLL劫持技术在后渗透和域渗透中的权限提升和权限维持都起到了至关重要的作用.本文简单剖析DLL劫持技术并通过实例应用来查看如何 ...
- 用正则怎么将html文件中文字取出进行ASCII码转换?
用正则怎么将html文件中文字取出?今天碰到这个问题,思来想去尝试了好几种方法,历经一阵头脑风暴,最后终于还是解决了,想想还是来记录一下.一共定义了三个函数,包含正则切割.正则判断对象开头.ASCII ...