容器(Container)Frames和Panels
- Frames
1)是Window的子类
2)具有标题和缩放角
3)从容器继承并以add方式添加组件
4)能以字符串规定的标题来创建不可见框架对象
5)能将BorderLayout当做缺省布局管理器
6)用setLayout方式来改变缺省布局管理器
7)Frame是Window的一个子类。它是带有标题和缩放角的窗口。它继承于Java.awt.Container,因此,可以用add()方式来给框架添加组件。框架的缺省布局管理器就是Border Layout。它可以用setLayout()方式来改变
8)框架类中的构造程序 Frame(String)用由String规定的标题来创建一个新的不可见的框架对象。当它还处于不可见状态时,将所有组件添加到框架中。
查看JDk Doc文档中的Frame类的构造方法
public Frame(String title)
throws HeadlessException
这个方法中title就是显示的标题。
程序如下所示:
package com.ahuier.awt;
import java.awt.Color;
import java.awt.Frame;
public class MyFrame extends Frame{
public MyFrame(String title){
super(title);
}
public static void main(String[] args){
MyFrame frame = new MyFrame("我的第一个GUI程序");
frame.setSize(500, 500); //设置宽度和高度
frame.setBackground(Color.BLUE); //设置背景色
frame.setVisible(true); //设置可见
}
}
- Panels
1)为组件提供空间
2)允许子面板拥有自己的布局管理器
3)以add方法添加组件
(1)象Frames一样,Panels提供空间来连接任何GUI组件,包括其它面板。每个面板都可以有它自己的布管理程序。
(2)一旦一个面板对象被创建,为了能看得见,它必须添加到窗口或框架对象上。用Container类中的add()方式可以做到这一点。
package com.ahuier.awt;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
public class FrameWithPanel extends Frame{
public FrameWithPanel(String title){
super(title);
}
public static void main(String[] args) {
FrameWithPanel frame = new FrameWithPanel("frame with panel");
Panel panel = new Panel();
frame.setSize(200,200);
frame.setBackground(Color.BLACK);
frame.setLayout(null); //制定布局管理器,我们设置为空,也就是不使用它自带的布局管理器
panel.setSize(100, 100);
panel.setBackground(Color.YELLOW);
frame.add(panel); //将panel设置到frame上
frame.setVisible(true);
}
}
容器(Container)Frames和Panels的更多相关文章
- C++ - 容器(container)的erase()函数
容器(container)的erase()函数 本文地址: http://blog.csdn.net/caroline_wendy/article/details/23996013 容器(contai ...
- C++ - 复制容器(container)的元素至还有一个容器
复制容器(container)的元素至还有一个容器 本文地址: http://blog.csdn.net/caroline_wendy C++复制容器(container)元素, 能够使用标准库(ST ...
- Laravel框架下容器Container 的依赖注入和反射应用
依赖注入,简单说是把类里头依赖的对象,置于类外头,即客户端调用处.相当于把类与类解耦. 一个简单的例子: class A { public function __construct() { // 这种 ...
- 谈谈thinkphp5.1中容器(Container)和门面(Facade)的实现
tp5.1中引入了容器(Container)和门面(Facade)这两个新的类 官方文档已经给出了定义: 容器(Container)实现类的统一管理,确保对象实例的唯一性. 门面(Facade)为容器 ...
- 虚拟机(Virtual Machine)和容器(Container)的对比
目前云计算平台常用的虚拟化技术有虚拟机(Virtual Machine)和容器(Container)两种.虚拟机已经是比较成熟的技术,容器技术作为下一代虚拟化技术,国内的各厂商应用还不广,但似乎其代表 ...
- C++ - 使用copy函数打印容器(container)元素
使用copy函数打印容器(container)元素 本文地址: http://blog.csdn.net/caroline_wendy C++能够使用copy函数输出容器(container)中的元素 ...
- docker (二):容器container
docker使用入门(二):容器container docker层次结构可以分为三层,从下往上是:容器(container).服务(services).堆栈(stack),其中services定义了容 ...
- 5.1中容器(Container)和门面(Facade)的实现
tp5.1中引入了容器(Container)和门面(Facade)这两个新的类 官方文档已经给出了定义: 容器(Container)实现类的统一管理,确保对象实例的唯一性. 门面(Facade)为容器 ...
- Docker动态给容器Container暴露端口
查看Container的IP地址 docker inspect <container name or id>| grep IPAddress 查看Container的映射的端口 docke ...
随机推荐
- eos 源码net_plugin分析
1 net_plugin_impl::connect(connection_ptr c) 函数用于解析地址,内部异步回调async_resolve async_resolve 传递了lambda表达式 ...
- python---django中文件上传
服务端: def upload(req): if req.method == "GET": return render(req, 'upload.html') else: prin ...
- weblogic11G 修改密码
weblogic11的登录密码修改方法: 1. 登陆到weblogic后选中domain structure下的security Realms(如图一) (图一) 详情如图二: (图二) 2. 双 ...
- android tools相关
1.showin 在include 的根节点设置,可一预览效果
- Spring RedisTemplate操作-ZSet操作(6)
@Autowired @Resource(name="redisTemplate") private RedisTemplate<String, String> rt; ...
- Excel VBA保护工作表
'设定可编辑区域 ActiveSheet.Protection.AllowEditRanges.Add Title:="区域1", Range:=Range("E5:H1 ...
- 第8月第15天 app支持后台播放
1. AVAudioSession *audioSession = [AVAudioSession sharedInstance]; //默认情况下扬声器播放 [audioSession setCat ...
- 在xampp与phpstorm环境下安装xdebug[转]
XDebug是什么 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,虽然对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中 ...
- mybatis介绍——(一)
官方API:http://www.mybatis.org/mybatis-3/index.html 中文: http://www.mybatis.org/mybatis-3/zh/index.html ...
- python3之SQLAlchemy
1.SQLAlchemy介绍 SQLAlchemy是Python SQL工具包和对象关系映射器,为应用程序开发人员提供了SQL的全部功能和灵活性. 它提供了一整套众所周知的企业级持久性模式,专为高效和 ...