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的更多相关文章
随机推荐
- JZOJ2020年8月7日提高组反思
JZOJ2020年8月7日提高组反思 T1 暴力枚举 枚举起点和\(p\) 然后就 过了?! 根据本人不严谨的推算 时间复杂度\(O(\dfrac{n^7}{4})\) 数据太水就过去了QAQ T2 ...
- Spring Boot 集成 MQTT
本文代码有些许问题,处理方案见:解决 spring-integration-mqtt 频繁报 Lost connection 错误 一.添加配置 spring: mqtt: client: usern ...
- 保姆级别的RabbitMQ教程!包括Java和Golang两种客户端
目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitMQ 启动RabbitMQ 什么是Authentication(认证) 指定RabbitMQ的启动配置文件 如何让guest用户远程 ...
- 转:解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别 标准Http协议支持六种请求方法,即: 1.GET 2.POST 3.PUT 4.Delete 5.HEAD ...
- 第14.1节 通过Python爬取网页的学习步骤
如果要从一个互联网前端开发的小白,学习爬虫开发,结合自己的经验老猿认为爬虫学习之路应该是这样的: 一. 了解HTML语言及css知识 这方面的知识请大家通过w3school 去学习,老猿对于html总 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的是否接受鼠标拖放事件的acceptDrops属性及含义
acceptDrops属性表示当前部件是否接受鼠标拖放事件,鼠标拖放应该是与鼠标拖拽结合在一起的,在Qt Designer中可以通过属性acceptDrops设置部件是否接受鼠标拖放事件.如果部件接受 ...
- Hbase API 多条件查询
public static ResultScanner scan(String tableName, String family, List<String> columns, List&l ...
- Java 线程安全问题的本质
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 目录: 线程安全问题的本质 理解CPU JVM虚拟机类比于操作系统 重排序 汇总 一些解释 ...
- ARC109D - L
平面上一开始有三个点\((0,0),(0,1),(1,0)\)形成成L形(点连续),每次操作可以将一个点改变位置,使得得到的仍然是L形.给出终止L形的位置,问移动的最小步数. \(|x|,|y|\le ...
- Mysql为什么使用b+树,而不是b树、AVL树或红黑树?
首先,我们应该考虑一个问题,数据库在磁盘中是怎样存储的?(答案写在下一篇文章中) b树.b+树.AVL树.红黑树的区别很大.虽然都可以提高搜索性能,但是作用方式不同. 通常文件和数据库都存储在磁盘,如 ...