------------恢复内容开始------------

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的更多相关文章

随机推荐

  1. Python爬虫合集:花6k学习爬虫,终于知道爬虫能干嘛了

    爬虫Ⅰ:爬虫的基础知识 爬虫的基础知识使用实例.应用技巧.基本知识点总结和需要注意事项 爬虫初始: 爬虫: + Request + Scrapy 数据分析+机器学习 + numpy,pandas,ma ...

  2. 【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划

    [NOIP2015模拟11.4]JZOJ8月6日提高组T1 刷题计划 题目 题解 题意 有\(n\)道题,编号为1~\(n\) 给出\(m\)次操作 每次操作有3种类型 1 \(x\) 表示交了\(A ...

  3. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项子项展开相关方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项如果一个项有子项,可以调用setE ...

  4. 6种css3 transform图片悬停动态效果

    html骨架代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...

  5. 利用promise实现间隔1s打印1,2,3

    利用promise结合数组的rduce方法 let arr = [1, 2, 3]; arr.reduce((pre, cur) => { return pre.then(() => { ...

  6. Javascript的解码/编码api

    1.fromCharCode() 接受一个指定的 Unicode 值,然后返回一个字符串. 语法:String.fromCharCode(numX,numX,...,numX) 详细了解:http:/ ...

  7. MVC部署出现403.14问题记录

    1.问题截图 2.解决办法有几种 1)在system.webServer下增加,这种是不推荐的. <modules runAllManagedModulesForAllRequests=&quo ...

  8. 什么叫做ECS云服务器?

    什么是ECS云服务器,阿里ECS云服务器与虚拟主机的区别是什么.以前,ECS云服务器还不带"云"字,只是叫做"服务器",毫无疑问"ECS云服务器&qu ...

  9. yum install nginx-没有可用软件包 nginx。

    1. 错误提示 Centos 7下安装nginx,使用yum install nginx,报错提示没有可用的软件包.具体错误提示如下: 已加载插件:fastestmirror, product-id, ...

  10. Hive基础语法5分钟速览

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...