这部分主要包含AWT、组件和容器、布局管理器
Component:所有可以和用户交互的图形元素,他的子类有:输入框…
Java.awt及其子包
Container:容器,容纳其他各种各样的Component的元素。
Panel:可以容纳其他元素,不能作为独立的显示出来,需要放在Window里面。
Frame:整个大窗口
Dialog:对话框
JFrame:Swing包里的。
栗子:TestFrame.java
窗口只是内存中的一个对象,需要显示出来,所以使用setVisible方法。
栗子2:TestMutiFrame.java
SetLayout:布局管理器设置为null。
栗子:TestPanel.java
继承Frame类,比直接new Frame类更灵活。继承Frame类,可以有自己的成员变量。
把Panel添加到Frame里面。
栗子2:
TestMultiPanel.java
调用了Frame类的add方法。
CentetrPanel.java
package com.zhj.www;import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;public class CenterPanel {public static void main(String[] args) {MyFrame myFrame = new MyFrame("FrameWitePanel", 300, 300,400, 300);myFrame.setBackground(Color.blue);}
}
class MyFrame extends Frame{private Panel panel;public MyFrame(String string ,int x, int y,int w,int h) {super(string);setLayout(null);panel = new Panel();panel.setBounds(w/2, y/3, w/2,h/2);panel.setBackground(Color.yellow);add(panel);setBounds(x, y, w, h);setVisible(true);}
}
Java.awt.LayoutManager:是一种接口;
通过调用setLayout该法改变其布局管理器对象。
栗子:TestFlowLayout.java
setLayout方法来自继承父类的父类。
f.setLayout(new FlowLayout(FlowLayout.LEFT));左居中。
栗子2:TestFlowLayout2.java
垂直间距 40,水平间距 20;
---------------------------------------------------------------
TestBorderLayout.java
---------------------------------------------------------------
表格管理器:
TestGridLayout.java
TenButton.java