Swing 是一個為Java設計的GUI工具包


Swing 是一個為Java設計的GUI工具包。

Swing是JAVA基礎類的一部分。

Swing包括了圖形用戶界面(GUI)器件如:文本框,按鈕,分隔窗格和表。

Swing提供許多比AWT更好的屏幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平台運行,這一點不像AWT。

它們是JFC的一部分。

它們支持可更換的面板和主題(各種操作系統默認的特有主題),然而不是真的使用原生平台提供的設備,而是僅僅在表面上模仿它們。

這意味着你可以在任意平台上使用JAVA支持的任意面板。

輕量級組件的缺點則是執行速度較慢,優點就是可以在所有平台上采用統一的行為。

 

 1 package Com.MySwing;
 2 import javax.swing.JButton;
 3 import javax.swing.JFrame;
 4 import javax.swing.JLabel;
 5 import javax.swing.JPanel;
 6 import javax.swing.JPasswordField;
 7 import javax.swing.JTextField; 
 8 public class TwoSwing {
 9      public static void main(String[] args) {    
10             // 創建 JFrame 實例
11             JFrame frame = new JFrame("Login Example");
12             // Setting the width and height of frame
13             frame.setSize(350, 200);
14             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
15 
16             /* 創建面板,這個類似於 HTML 的 div 標簽
17              * 我們可以創建多個面板並在 JFrame 中指定位置
18              * 面板中我們可以添加文本字段,按鈕及其他組件。
19              */
20             JPanel panel = new JPanel();    
21             // 添加面板
22             frame.add(panel);
23             /* 
24              * 調用用戶定義的方法並添加組件到面板
25              */
26             placeComponents(panel);
27 
28             // 設置界面可見
29             frame.setVisible(true);
30         }
31 
32      private static void placeComponents(JPanel panel) {
33 
34             /* 布局部分我們這邊不多做介紹
35              * 這邊設置布局為 null
36              */
37             panel.setLayout(null);
38 
39             // 創建 JLabel
40             JLabel userLabel = new JLabel("User:");
41             /* 這個方法定義了組件的位置。
42              * setBounds(x, y, width, height)
43              * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
44              */
45             userLabel.setBounds(10,20,80,25);
46             panel.add(userLabel);
47 
48             /* 
49              * 創建文本域用於用戶輸入
50              */
51             JTextField userText = new JTextField(20);
52             userText.setBounds(100,20,165,25);
53             panel.add(userText);
54 
55             // 輸入密碼的文本域
56             JLabel passwordLabel = new JLabel("Password:");
57             passwordLabel.setBounds(10,50,80,25);
58             panel.add(passwordLabel);
59 
60             /* 
61              *這個類似用於輸入的文本域
62              * 但是輸入的信息會以點號代替,用於包含密碼的安全性
63              */
64             JPasswordField passwordText = new JPasswordField(20);
65             passwordText.setBounds(100,50,165,25);
66             panel.add(passwordText);
67 
68             // 創建登錄按鈕
69             JButton loginButton = new JButton("login");
70             loginButton.setBounds(10, 80, 80, 25);
71             panel.add(loginButton);
72         }
73 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM