一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java圖形用戶界面設(shè)計(Swing)的介紹

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

2020-05-29 14:32daisy JAVA教程

看到多數(shù)人提到 Java 就以為是網(wǎng)絡(luò)開發(fā),其實不是這樣的,Java 也可以開發(fā)應(yīng)用程序,而且可以開發(fā)出漂亮的圖形用戶界面的應(yīng)用程序,因此,我寫下這篇文章,希望能帶你進(jìn)入 Java 圖形用戶界面設(shè)計之門。

前言

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

Swing 是一個為Java設(shè)計的GUI工具包。

Swing是JAVA基礎(chǔ)類的一部分。

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

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

Hello World 程序

HelloWorldSwing.java 文件代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import javax.swing.*;
public class HelloWorldSwing {
  /**{
   * 創(chuàng)建并顯示GUI。出于線程安全的考慮,
   * 這個方法在事件調(diào)用線程中調(diào)用。
   */
  private static void createAndShowGUI() {
    // 確保一個漂亮的外觀風(fēng)格
    JFrame.setDefaultLookAndFeelDecorated(true);
 
    // 創(chuàng)建及設(shè)置窗口
    JFrame frame = new JFrame("HelloWorldSwing");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
    // 添加 "Hello World" 標(biāo)簽
    JLabel label = new JLabel("Hello World");
    frame.getContentPane().add(label);
 
    // 顯示窗口
    frame.pack();
    frame.setVisible(true);
  }
 
  public static void main(String[] args) {
    // 顯示應(yīng)用 GUI
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createAndShowGUI();
      }
    });
  }
}

執(zhí)行以下命令輸出結(jié)果:

?
1
2
$ javac HelloWorldSwing.java
$ java HelloWorldSwing

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

一個用戶登錄框?qū)嵗?/strong>

SwingLoginExample.java 文件代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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) { 
    // 創(chuàng)建 JFrame 實例
    JFrame frame = new JFrame("Login Example");
    // Setting the width and height of frame
    frame.setSize(350, 200);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
    /* 創(chuàng)建面板,這個類似于 HTML 的 div 標(biāo)簽
     * 我們可以創(chuàng)建多個面板并在 JFrame 中指定位置
     * 面板中我們可以添加文本字段,按鈕及其他組件。
     */
    JPanel panel = new JPanel(); 
    // 添加面板
    frame.add(panel);
    /*
     * 調(diào)用用戶定義的方法并添加組件到面板
     */
    placeComponents(panel);
 
    // 設(shè)置界面可見
    frame.setVisible(true);
  }
 
  private static void placeComponents(JPanel panel) {
 
    /* 布局部分我們這邊不多做介紹
     * 這邊設(shè)置布局為 null
     */
    panel.setLayout(null);
 
    // 創(chuàng)建 JLabel
    JLabel userLabel = new JLabel("User:");
    /* 這個方法定義了組件的位置。
     * setBounds(x, y, width, height)
     * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
     */
    userLabel.setBounds(10,20,80,25);
    panel.add(userLabel);
 
    /*
     * 創(chuàng)建文本域用于用戶輸入
     */
    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);
 
    // 創(chuàng)建登錄按鈕
    JButton loginButton = new JButton("login");
    loginButton.setBounds(10, 80, 80, 25);
    panel.add(loginButton);
  }
 
}

執(zhí)行以下命令輸出結(jié)果:

?
1
2
$ javac SwingLoginExample.java
$ java SwingLoginExample

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

概念解析:

JFrame – java的GUI程序的基本思路是以JFrame為基礎(chǔ),它是屏幕上window的對象,能夠最大化、最小化、關(guān)閉。

JPanel – Java圖形用戶界面(GUI)工具包swing中的面板容器類,包含在javax.swing 包中,可以進(jìn)行嵌套,功能是對窗體中具有相同邏輯功能的組件進(jìn)行組合,是一種輕量級容器,可以加入到JFrame窗體中。。
JLabel – JLabel 對象可以顯示文本、圖像或同時顯示二者。可以通過設(shè)置垂直和水平對齊方式,指定標(biāo)簽顯示區(qū)中標(biāo)簽內(nèi)容在何處對齊。默認(rèn)情況下,標(biāo)簽在其顯示區(qū)內(nèi)垂直居中對齊。默認(rèn)情況下,只顯示文本的標(biāo)簽是開始邊對齊;而只顯示圖像的標(biāo)簽則水平居中對齊。
JTextField –一個輕量級組件,它允許編輯單行文本。
JPasswordField – 允許我們輸入了一行字像輸入框,但隱藏星號(*) 或點創(chuàng)建密碼(密碼)
JButton – JButton 類的實例。用于創(chuàng)建按鈕類似實例中的 "Login"。


好了,到這本文就告一段落了。這里說的都是初級知識,有此基礎(chǔ),設(shè)計復(fù)雜一點的圖形用戶界面也就不是難事了!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人www | 国产精品视频在线观看 | 99午夜 | 免费我看视频在线观看 | porno美国xxxx| 日本xx高清视频免费观看 | ak福利午夜在线观看 | 日韩影院在线 | 亚洲成人mv| 日韩欧美国内 | 色狠狠狠狠狠香蕉 | 被18号每天强行榨干acg | 欧美日韩亚洲另类人人澡 | 国产haodiaose最新 | 精品一久久香蕉国产线看播放 | 好姑娘完整版在线观看中文 | 日本不卡视频免费 | 吉川爱美与黑人解禁 | 青青青视频免费线看 视频 青青青青青国产免费手机看视频 | 日本高清中文字幕一区二区三区 | 色婷婷六月天 | 视频一区二区三区在线观看 | 日韩精品中文字幕久久 | 深夜日韩| 男人的j伸到女人的屁股眼 男人吃奶动态图 | bl放荡受np双性 | 513热点网深夜影院影院诶 | 我和黑色丝袜班主任 | 韩国伦理hd | 国产精品一区二区三区免费视频 | 性色老女人 | 网友偷自拍原创区 | 亚洲第一色网站 | 91影视在线看免费观看 | 91香蕉视频在线播放 | 男人的视频网站 | 美女女女女女女bbbbbb毛片 | 亚洲aⅴ天堂| 好湿好紧太硬了我太爽了h 好湿好滑好硬好爽好深视频 | 日韩一卡2卡3卡新区网站 | 国产成人精品一区二区仙踪林 |