程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java圖形用戶界面設計(Swing)的引見

Java圖形用戶界面設計(Swing)的引見

編輯:關於JAVA

Java圖形用戶界面設計(Swing)的引見。本站提示廣大學習愛好者:(Java圖形用戶界面設計(Swing)的引見)文章只能為提供參考,不一定能成為您想要的結果。以下是Java圖形用戶界面設計(Swing)的引見正文


媒介

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 – java的GUI法式的根本思緒是以JFrame為基本,它是屏幕上window的對象,可以或許最年夜化、最小化、封閉。

JPanel – Java圖形用戶界面(GUI)對象包swing中的面板容器類,包括在javax.swing 包中,可以停止嵌套,功效是對窗體中具有雷同邏輯功效的組件停止組合,是一種輕量級容器,可以參加到JFrame窗體中。。
JLabel – JLabel 對象可以顯示文本、圖象或同時顯示兩者。可以經由過程設置垂直和程度對齊方法,指定標簽顯示區中標簽內容在何處對齊。默許情形下,標簽在其顯示區內垂直居中對齊。默許情形下,只顯示文本的標簽是開端邊對齊;而只顯示圖象的標簽則程度居中對齊。
JTextField –一個輕量級組件,它許可編纂單行文本。
JPasswordField – 許可我們輸出了一行字像輸出框,但隱蔽星號(*) 或點創立暗碼(暗碼)
JButton – JButton 類的實例。用於創立按鈕相似實例中的 "Login"。


好了,到這本文就告一段落了。這裡說的都是低級常識,有此基本,設計龐雜一點的圖形用戶界面也就不是難事了!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved