Java圖形介面程式設計(一)
阿新 • • 發佈:2019-01-28
初步認識swing awt
AWT(abstract Window Toolkit)是java釋出的第一個圖形介面庫。AWT通過呼叫系統本地的庫,來建立和顯示控制元件。
AWT 的元件都是使用的native code來編寫的。所以AWT 的元件擴充套件性不夠好。現在人們更願意使用swing。
同時AWT也提供介面的事件處理機制。
Swing。Swing 的出現並不是為了取締AWT,因為他本身也依賴AWT。同時,Swing元件是通過java2D繪製的,所以介面較AWT更加美觀, 但是依然很醜(┬_┬) 。然而,Swing元件絕大多數都是用java編寫的
(除了JFrame,JDialog,JWindow,JApplet),這就意味著,我們可以根據自己的需要,來擴充套件他們,具體做法主要是以他們為父類,派生出自己滿意的控制元件型別。
下面是AWT 和Swing 的工作關係圖。
可以看出,Swing依賴AWT 和 Java2D繪圖。
下面來感受一下。
public class demo { public static void main(String[] args) { /*****************頂層容器:窗體*********************/ JFrame win = new JFrame(); win.setTitle("測試"); //窗體的標題 win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /***************2個按鈕******************/ Button AWTbutton = new Button("AWT Button"); AWTbutton.setPreferredSize(new Dimension(130,50)); JButton Swingbutton = new JButton("Swing Button"); Swingbutton.setPreferredSize(new Dimension(130,50)); /*************主面板***************/ JPanel panel = new JPanel(); panel.setBackground(Color.lightGray); panel.setPreferredSize(new Dimension(300,240)); panel.add(Swingbutton); //將按鈕新增到主面板 panel.add(AWTbutton); //將按鈕新增到主面板 win.getContentPane().add(panel); //將主面板新增到窗體的內容窗格 win.pack(); win.setVisible(true); } }