一、GUI介紹
1、GUI概述
圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指採用圖形方式顯示的計算機操作用戶界面。
在GUI編程中,頂層的根窗口包含組成GUI應用的所有小窗口對象,他們可能是文字標籤,按鈕,列表框等,這些獨立的GUI組件稱爲控件。
2、Java提供了三個主要包坐GUI開發
java.awt 包 – 主要提供字體/佈局管理器
javax.swing 包– 主要提供各種組件(窗口/按鈕/文本框)
java.awt.event 包 – 事件處理,後臺功能的實現
二、swing組件
1、swing組件主要可分爲三個部分,
(1)頂層容器::常用有JFrame,JDialog
組件 | 描述 | |
---|---|---|
1 | JFrame | 一個普通的窗口(絕大多數 Swing 圖形界面程序使用 JFrame 作爲頂層容器) |
2 | JDialog | 對話框 |
(2)中間容器:JPanel,JOptionPane,JScrollPane,JLayeredPane 等,主要以panel結尾。
組件 | 描述 | |
---|---|---|
1 | JPanel (相當於div) | 一般輕量級面板容器組件(作爲JFrame中間容器) |
2 | JScrollPane | 帶滾動條的,可以水平和垂直滾動的面板組件 |
3 | JSplitPane | 分隔面板 |
4 | JTabbedPane | 選項卡面板 |
5 | JLayeredPane | 層級面板 |
(3)基本組件:JLabel,JButton,JTextField,JPasswordField,JRadioButton 等。
組件 | 描述 | |
---|---|---|
1 | JLabel | 標籤 |
2 | JButton | 按鈕 |
3 | JRadioButton | 單選按鈕 |
4 | JCheckBox | 複選框 |
5 | JToggleButton | 開關按鈕 |
6 | JTextField | 文本框 |
7 | JPasswordField | 密碼框 |
8 | JTextArea | 文本區域 |
9 | JComboBox | 下拉列表框 |
10 | JList | 列表 |
11 | JProgressBar | 進度條 |
12 | JSlider | 滑塊 |
2、API介紹
(1)Jframe組件
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); //添加可滾動面板到主窗口,佈局在中間
(2)JPanel組件
Jpanel
JPanel panel = new JPanel(); //創建面板容器
panel.add(button); //添加按鈕到面板
JOptionPane
JOptionPane.showMessageDialog(panel3, "沒有選中任何文件", "提示", JOptionPane.WARNING_MESSAGE);
//彈出提示框到panel容器
JScrollPane
JScrollPane scrollPane = new JScrollPane(); //創建可滾動面板
scrollPane.setViewportView(textArea); //設置面板內容
(3)功能組件
JLabel
JLabel label = new JLabel("Hello World"); //添加標籤
JButton
JButton button = new JButton("選擇文件"); //創建按鈕
button.addActionListener(new ActionListener() {} //添加操作按鈕後的事件監聽器
JTextArea
JTextArea textArea = new JTextArea(); //創建文本區域
textArea.setText(content); //設置內容
三、GUI操作
1、使GUI程序啓動和運行的5個步驟
(1)導入Tkinter模塊
(2)創建一個頂層窗口對象,用於容納整個GUI應用
(3)在頂層窗口之上(或其中)構建所有的GUI組件(及其功能)
(4)通過底層的應用代碼將這些GUI組件連接起來
(5)進入主事件循環