工具包AWT(Abstract Window Toolkit)Swing (在AWT上改进的) 目前最常用的SWT (IBM 开发的全新库)JFace (IBM 在SWT上改进的)
Swing
组件一览
引入 java.awt.* 和 javax.swing* 包JFrame:是 Frame 的子类;是一个顶层容器类(可以添加其他 swing 组件)
JFrame jf = new JFrame();
//给窗口设置标题
jf.setTitle("hello world");
//设置大小,按像素
jf.setSize(200,100);
//设置初始位置
jf.setLocation(100,200);
//设置当关闭窗口时,保证jvm也关闭
jf.setDefaultCloseOperate(JFrame.EXIT_ON_CLOSE);
//显示
jf.setVisible(true);
布局管理器
概念:组件在容器中的位置和大小是由布局管理器来决定的,所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理
种类:java共提供了五种布局管理器:流式布局管理器(FlowLayout),边界布局管理器(BorderLayout),网格布局管理器(GridLayout),卡片布局管理器
(CardLayout),网格包布局管理器(GridBagLayout)。前三种是最常见的布局管理器。
边界布局BordLayout:将容器简单的划分为东南西北中5个区域,中间区域最大。默认布局管理器
流式布局FlowLayout:不限制组件大小,允许他们有最佳大小,默认是居中对齐,当容器被缩放时组件的位置可能变化但组件的大小不变
流式布局左对齐:this.setLayout(new FlowLayout(FlowLayout.LEFT));
网格布局GridLayout:
使用:this.setLayout(new GridLayout(3,3));
绘图
使用:class MyPanel extends Panel{
public void paint(Graphics g){
super.paint(g);
g.drawOval(10,10,30,30);
}
}
说明:两个和绘图相关的最重要的方法
paint(Graphics g)绘制组件的外观
repaint()刷新组件的外观
当组件第一次在屏幕显示的是时候,成都会自动的调用paint()方法来绘制组件。
paint()方法在以下情况将会被调用:
窗口的大小发生变化时
repaint()函数被调用时
世俗的纷扰,生活的琐碎使人精疲力尽,