<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java AWT 初學者教程 > 原文: [https://beginnersbook.com/2015/06/java-awt-tutorial/](https://beginnersbook.com/2015/06/java-awt-tutorial/) **AWT** 代表**抽象窗口工具包**。它是一個依賴于平臺的 API,用于為 Java 程序創建圖形用戶界面(GUI)。 **為什么 AWT 與平臺有關?** Java AWT 調用本機平臺(操作系統)子程序,用于創建文本框,復選框,按鈕等組件。例如,具有按鈕的 AWT GUI 在諸如 Windows,Mac OS 和 Windows 等平臺之間具有不同的外觀和感覺。 Unix,這是因為這些平臺的原生按鈕具有不同的外觀和感覺,AWT 直接調用創建按鈕的原生子程序。簡單來說,基于 AWT 的應用在 Windows 上運行時看起來就像一個 Windows 應用,但在 Mac OS 上運行時,相同的應用看起來就像是 Mac 應用。 AWT 現在很少使用,因為它具有平臺依賴性和重量級特性。 AWT 組件被認為是重量級的,因為它們是由底層操作系統(OS)生成的。例如,如果您在 AWT 中實例化一個文本框,這意味著您實際上要求操作系統為您創建一個文本框。 Swing 是基于窗口的應用的首選 API,因為它具有平臺獨立性和輕量級特性。 Swing 基于 AWT API 構建,但它提供與底層平臺無關的外觀。它具有比 AWT 更強大,更靈活的組件。除了熟悉的組件,如按鈕,復選框和標簽,Swing 還提供了幾個高級組件,如選項卡式面板,滾動窗格,樹,表和列表。我們將在單獨的教程中詳細討論 Swing。 ## AWT 層次結構 ![Java AWT hierarchy diagram](https://img.kancloud.cn/3a/ff/3aff2332f5064f9b7332f491d1836b59_599x449.jpg) ## 組件和容器 按鈕,文本字段,滾動條等所有元素都稱為組件。在 AWT 中,我們為每個組件提供了類,如上圖所示。要將屏幕上的所有內容放置到特定位置,我們必須將它們添加到容器中。容器就像一個屏幕,我們在其中放置按鈕,文本字段,復選框等組件。簡而言之,容器包含并控制組件的布局。容器本身是一個組件(如上面的層次結構圖所示),因此我們可以在容器內添加一個容器。 **容器類型:** 如上所述,容器是我們添加文本字段,按鈕,復選框等組件的地方。AWT 中有四種類型的容器:窗口,框架,對話框和小組。如上面的層次結構圖所示,`Frame`和`Dialog`是`Window`類的子類。 **窗口:** `Window`類的一個實例沒有邊框也沒有標題 **對話框:** `Dialog`類有邊框和標題。沒有`Frame`類的關聯實例,`Dialog`類的實例不能存在。 **面板:**面板不包含標題欄,菜單欄或邊框。它是用于保持組件的通用容器。`Panel`類的實例提供了一個要添加組件的容器。 **框架:**框架有標題,邊框和菜單欄。它可以包含幾個組件,如按鈕,文本字段,滾動條等。這是在 AWT 中開發應用時使用最廣泛的容器。 ## Java AWT 示例 我們可以用兩種方式使用`Frame`創建一個 GUI: 1)通過擴展`Frame`類 2)通過創建`Frame`類的實例 讓我們看一下每個示例。 ## AWT 示例 1:通過擴展`Frame`類來創建`Frame` ```java import java.awt.*; /* We have extended the Frame class here, ?* thus our class "SimpleExample" would behave ?* like a Frame ?*/ public class SimpleExample extends Frame{ ?? ?SimpleExample(){ ? ?? ??? ?Button b=new Button("Button!!"); ?? ??? ?// setting button position on screen ?? ??? ?b.setBounds(50,50,50,50); ? ?? ??? ?//adding button into frame ?? ??? ?add(b); ?? ??? ?//Setting Frame width and height ?? ??? ?setSize(500,300); ?? ??? ?//Setting the title of Frame ?? ??? ?setTitle("This is my First AWT example"); ?? ??? ?//Setting the layout for the Frame ?? ??? ?setLayout(new FlowLayout()); ?? ??? ?/* By default frame is not visible so ?? ??? ? * we are setting the visibility to true ?? ??? ? * to make it visible. ?? ??? ? */ ?? ??? ?setVisible(true); ? ?? ?} ? ?? ?public static void main(String args[]){ ? ?? ???? ?// Creating the instance of Frame ?? ???? ?SimpleExample fr=new SimpleExample(); ? ?? ?} } ``` **輸出:** ![AWT example 1](https://img.kancloud.cn/4b/fc/4bfcbbf52b5035fd7f9f91267aed29c7_500x300.jpg) ## AWT 示例 2:通過創建`Frame`類的實例來創建`Frame` ```java import java.awt.*; public class Example2 { Example2() ?? { ?? ?? //Creating Frame?? ? ?? ?? Frame fr=new Frame();????? ? ?? ?? //Creating a label ?? ?? Label lb = new Label("UserId: "); ?? ?? //adding label to the frame ?? ?? fr.add(lb);?? ??? ?? ? ?? ?? //Creating Text Field ?? ?? TextField t = new TextField(); ?? ?? //adding text field to the frame ?? ?? fr.add(t); ?? ?? //setting frame size ?? ?? fr.setSize(500, 300); ? ?? ?? //Setting the layout for the Frame ?? ?? fr.setLayout(new FlowLayout()); ?? ?? fr.setVisible(true);?????????????? ? ?? } ?? public static void main(String args[]) ?? { ?? ? ? Example2 ex = new Example2(); ?? } } ``` **輸出:** ![AWT example 2](https://img.kancloud.cn/bc/47/bc47419702feda370cba80599e13ebf8_500x300.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看