天天看點

Java GUI快速入門

1.GUI的介紹

  早期,電腦向使用者提供的是單調、枯燥、純字元狀态的“指令行界面(CLI)”。就是到現在,我們還可以依稀看到它們的身影:在Windows中開個DOS視窗,就可看到曆史的足迹。後來,Apple公司率先在電腦的作業系統中實作了圖形化的使用者界面(Graphical User Interface,簡稱GUI),但由于Apple公司封閉的市場政策,自己完成電腦硬體、作業系統、應用軟體一條龍的産品,與其它PC不相容。這使得Apple公司錯過了一次一統全球PC的好機會。

  後來,Microsoft公司推出了風靡全球的Windows作業系統,它憑借着優秀的圖形化使用者界面,一舉奠定了作業系統标準的地位。這也造就了世界首富---比爾.蓋茨和IT業的泰山北鬥微軟公司。

  在這圖形使用者界面風行于世的今天,一個應用軟體沒有良好的GUI是無法讓使用者接受的。而Java語言也深知這一點的重要性,它提供了一套可以輕松建構GUI的工具。在本章和下一章中,我們将向你充分證明這一點。

java.awt 包 – 主要提供字型/布局管理器

javax.swing 包[商業開發常用] – 主要提供各種元件(視窗/按鈕/文本框)

java.awt.event 包 – 事件處理,背景功能的實作。

2.Swing元件

如圖所示:swing元件主要可分為三個部分,後面會詳細介紹

(1)頂層容器::常用有JFrame,JDialog

(2)中間容器:JPanel,JOptionPane,JScrollPane,JLayeredPane 等,主要以panel結尾。

(3)基本元件:JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。

Java GUI快速入門

#         

元件         

描述

1         

JFrame         

一個普通的視窗(絕大多數 Swing 圖形界面程式使用 JFrame 作為頂層容器)

2         

JDialog         

對話框

JPanel (相當于div)

一般輕量級面闆容器元件(作為JFrame中間容器)

JScrollPane         

帶滾動條的,可以水準和垂直滾動的面闆元件

3         

JSplitPane         

分隔面闆

4         

JTabbedPane         

頁籤面闆

5         

JLayeredPane         

層級面闆

JLabel

标簽

JButton         

按鈕

JRadioButton         

單選按鈕

JCheckBox         

複選框

JToggleButton         

開關按鈕

6         

JTextField         

文本框

7         

JPasswordField         

密碼框

8         

JTextArea         

文本區域

9         

JComboBox         

下拉清單框

10         

JList         

清單

11         

JProgressBar         

進度條

12         

JSlider         

滑塊

3.API介紹

JFrame frame = new JFrame("HelloWorldSwing");

  // 建立及設定視窗

frame.setDefaultLookAndFeelDecorated(true);

 // 確定一個漂亮的外觀風格

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

設定預設的關閉視窗

frame.pack();

   // 顯示視窗

frame.setVisible(true);

//這個最好放在最後,不然會出現視圖看不到的情況

frame.setBounds(600, 300, 500, 400);

設定視窗的x,y位置,視窗大小x,y.

frame.add(panel)

添加panel面闆到容器

frmIpa.getContentPane().add(panel, BorderLayout.NORTH);

添加面闆到主視窗,布局在北面

frmIpa.getContentPane().add(scrollPane, BorderLayout.CENTER);

添加可滾動面闆到主視窗,布局在中間

Jpanel

JPanel panel = new JPanel();

建立面闆容器

panel.add(button);

添加按鈕到面闆

JOptionPane

JOptionPane.showMessageDialog(panel3, "沒有選中任何檔案", "提示", JOptionPane.WARNING_MESSAGE);

彈出提示框到panel容器

JScrollPane

JScrollPane scrollPane = new JScrollPane();

建立可滾動面闆

scrollPane.setViewportView(textArea);

設定面闆内容

 JLabel label = new JLabel("Hello World");

添加标簽

Jbutton

JButton button = new JButton("選擇檔案");

建立按鈕

button.addActionListener(new ActionListener() {}

添加操作按鈕後的事件監聽器

JFileChooser

 jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );

// 設定檔案對話框

jfc.showSaveDialog(frmIpa);

// 顯示打開的檔案對話框

jfc.getSelectedFile();

// 擷取選擇器選擇的檔案

JTextArea

JTextArea textArea = new JTextArea();

建立文本區域

textArea.setText(content);

設定内容

4.案例代碼

主視窗Jframe,

    Jframe添加2個Jpanel面闆,

         北面Jpanel添加JButton,JButton打開JFileChooser檔案對話框。

         中間JScrollPane添加JTextArea文本區域,文本區域按各自業務邏輯來處理。

Java GUI快速入門

5.插件介紹WindowBuilder

    總算騙大家看完文章,其實最友善的方法是用插件制作,當然大家先了解完代碼原理是最好的哈哈。eclispe安裝windowbuilder有兩種方式,一種是離線安裝,一種是線上安裝。

找到http://www.eclipse.org/windowbuilder/download.php

Java GUI快速入門

根據自己的eclipse版本選擇,因為我的是4.8版本了,是以隻能線上安裝。

(1)選擇Help - Eclipse MarketPlace

Java GUI快速入門

(2) 在商店中搜尋windowbuilder ,會出現WindowBuilder插件

Java GUI快速入門

(3)一路下一步,進行安裝,等待安裝結束重新開機eclipse即可。

(1)在Eclipe菜單中File - New -Other ,選中WindowBuilder - Swing Designer - JFrame。

Java GUI快速入門

(2)打開檔案,點選左下角的Design進入視圖模式,左邊對應代碼模式

左上是整個視圖結構,左下是單個結構的屬性,可以在這裡修改視窗的一些屬性,

中間是整個swing的界面按鈕,前面第二點介紹過的,這裡就不說了,

右邊就是視圖了,可以點選按鈕往視圖裡面添加,如下圖。

Java GUI快速入門