13.1 Swing概述
13.1.1 Swing特點
Swing組件和AWT組建配合起來設計GUI(圖形用戶界面)。Swing組件不依賴於操作系統,可以在任意平臺運行,因此稱之爲輕量級組件;AWT依賴於本地平臺,稱之爲重量級組件。
13.1.2 Swing組件類的繼承層次
從繼承關係中可以看出,頂層父類是Component類和Container類,所以Java對窗口的編寫都與組件和容器的概念相關聯。
13.1.3 常用Swing組件概述
組件名稱 | 定義 |
---|---|
JFrame | Swing框架,相當於一個容器,是各個組件的載體 |
JButton | 按鈕 |
JCheckBox | 複選框 |
JRadioButton | 單選框 |
JComBox | 下拉列表框 |
JList | 顯示一系列條目 |
JDialog | 對話框 |
JLabel | 標籤 |
JComBox | 下拉列表框 |
JTextField | 文本框 |
JPasswordField | 密碼框 |
JTextArea | 文本區域 |
JOptionPane | 對話框 |
13.2 常用窗體
Swing中常用窗體主要包括JFrame和JDialog。
13.2.1 JFrame窗體
初始化JFrame窗體
import java.awt.*; //導入awt包
import javax.swing.*; //導入swing包
public class Practice extends JFrame{ //定義一個類,繼承JFrame類
public void createJFrame(String title){ //定義createJFrame()方法,title爲窗體標題
JFrame jf= new JFrame(title); //實例化一個JFrame對象,用jf引用
jf.setVisible(true); //設置窗體可視化
jf.setSize(200,150); //設置窗體寬高
Container container=jf.getContentPane(); //jf調用getContentPane()方法返回一個容器,給container引用
container.setBackground(Color.white); //設置容器背景顏色
JLabel jl=new JLabel("光速QA"); //設置一個標籤
jl.setHorizontalAlignment(SwingConstants.CENTER); //設置標籤對齊方式
container.add(jl); //用容器的add()方法添加標籤;若要移除標籤,用container.remove(jl)方法
}
public static void main(String[] args) {
new Practice().createJFrame("KingOfRiven"); //調用createJFrame()方法,創建一個標題爲KingOfRiven的Jrame窗體容器。
}
}
效果如圖所示: