這部分主要包含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