国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java圖形用戶界面設計(Swing)的介紹

2019-11-26 14:03:10
字體:
來源:轉載
供稿:網友

前言

Swing是一個用于開發Java應用程序用戶界面的開發工具包。它以抽象窗口工具包(AWT)為基礎使跨平臺應用程序可以使用任何可插拔的外觀風格。Swing開發人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創建優雅的用戶界面。

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

Swing是JAVA基礎類的一部分。

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

Swing提供許多比AWT更好的屏幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平臺運行,這一點不像AWT。它們是JFC的一部分。它們支持可更換的面板和主題(各種操作系統默認的特有主題),然而不是真的使用原生平臺提供的設備,而是僅僅在表面上模仿它們。這意味著你可以在任意平臺上使用JAVA支持的任意面板。輕量級組件的缺點則是執行速度較慢,優點就是可以在所有平臺上采用統一的行為。

Hello World 程序

HelloWorldSwing.java 文件代碼如下:

import javax.swing.*;public class HelloWorldSwing {  /**{   * 創建并顯示GUI。出于線程安全的考慮,   * 這個方法在事件調用線程中調用。   */  private static void createAndShowGUI() {    // 確保一個漂亮的外觀風格    JFrame.setDefaultLookAndFeelDecorated(true);    // 創建及設置窗口    JFrame frame = new JFrame("HelloWorldSwing");    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    // 添加 "Hello World" 標簽    JLabel label = new JLabel("Hello World");    frame.getContentPane().add(label);    // 顯示窗口    frame.pack();    frame.setVisible(true);  }  public static void main(String[] args) {    // 顯示應用 GUI    javax.swing.SwingUtilities.invokeLater(new Runnable() {      public void run() {        createAndShowGUI();      }    });  }}

執行以下命令輸出結果:

$ javac HelloWorldSwing.java$ java HelloWorldSwing

一個用戶登錄框實例

SwingLoginExample.java 文件代碼如下:

import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField; public class SwingLoginExample {    public static void main(String[] args) {      // 創建 JFrame 實例    JFrame frame = new JFrame("Login Example");    // Setting the width and height of frame    frame.setSize(350, 200);    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    /* 創建面板,這個類似于 HTML 的 div 標簽     * 我們可以創建多個面板并在 JFrame 中指定位置     * 面板中我們可以添加文本字段,按鈕及其他組件。     */    JPanel panel = new JPanel();      // 添加面板    frame.add(panel);    /*      * 調用用戶定義的方法并添加組件到面板     */    placeComponents(panel);    // 設置界面可見    frame.setVisible(true);  }  private static void placeComponents(JPanel panel) {    /* 布局部分我們這邊不多做介紹     * 這邊設置布局為 null     */    panel.setLayout(null);    // 創建 JLabel    JLabel userLabel = new JLabel("User:");    /* 這個方法定義了組件的位置。     * setBounds(x, y, width, height)     * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。     */    userLabel.setBounds(10,20,80,25);    panel.add(userLabel);    /*      * 創建文本域用于用戶輸入     */    JTextField userText = new JTextField(20);    userText.setBounds(100,20,165,25);    panel.add(userText);    // 輸入密碼的文本域    JLabel passwordLabel = new JLabel("Password:");    passwordLabel.setBounds(10,50,80,25);    panel.add(passwordLabel);    /*      *這個類似用于輸入的文本域     * 但是輸入的信息會以點號代替,用于包含密碼的安全性     */    JPasswordField passwordText = new JPasswordField(20);    passwordText.setBounds(100,50,165,25);    panel.add(passwordText);    // 創建登錄按鈕    JButton loginButton = new JButton("login");    loginButton.setBounds(10, 80, 80, 25);    panel.add(loginButton);  }}

執行以下命令輸出結果:

$ javac SwingLoginExample.java$ java SwingLoginExample

概念解析:

JFrame

主站蜘蛛池模板: 临汾市| 太康县| 嘉荫县| 津南区| 和静县| 磐石市| 府谷县| 满洲里市| 称多县| 张北县| 达拉特旗| 股票| 桓台县| 玉山县| 手游| 台前县| 延安市| 苏尼特左旗| 新平| 儋州市| 武强县| 奉新县| 丰都县| 万全县| 伊春市| 香河县| 朝阳市| 丰台区| 瓮安县| 红原县| 望城县| 杭州市| 镇安县| 西峡县| 辽中县| 澳门| 兰溪市| 阳西县| 嘉黎县| 萨嘎县| 东丽区|