JAVA中AWT編程


 

JAVA使用AWT和Swing 類完成圖形用戶界面編程,AWT全稱是抽象窗口工具集(Abstract Window Toolkit),它是最早的sun提供的GUI庫(Graphics User Interface)圖形用戶界面。

 

  AWT是窗口框架,它從不同平台的窗口系統中抽取共同組件,當使用AWT編寫圖形界面應用時,程序僅指定了界面組件的位置和行為,並為提供真正的實現,JVM 調用操作系統本地的圖形界面來創建和平台一直的對等體。

 

  1.   java中所有和AWT編程相關的類放在java.awt包以及他的子包中。  AWT中有兩個基類:Component和MenuComponent。

     Component代表一個以圖形化方式顯示出來,並可與用戶交互的對象;

     MenuComponent則代表圖形界面菜單組件,包括MenuBar(菜單條),MenuItem(菜單項)等。

    

 

    2.AWT容器

        在AWT中 Container  是一種特殊的Component。它代表一種容器。Container是Component的子類 。容器本身也是一個組件,具有組件的性質。可以調用Component類中的所有方法。

 

    AWT提供了兩種主要容器類型

    • Window:可以獨立存在的窗口。
    • Panel:可作為容器容納其他組件,但不能獨立存在,必須添加到其他容器中。 
      Frame代表常見的窗口,它是Window類的子類,
    • Frame 對象有標題,允許通過拖拉來改變窗口的位置,大小。
    • 初始化時不可見 ,可用setVisible(true)使其顯示出來。
    • 默認使用 BorderLayout作為其布局管理器。

 

 

  

 

  通過Frame創建一個窗口

package AWT1;
import java.awt.Frame;
public class FrameTest {
     public static void main(String[] args) {
          Frame f = new Frame("測試窗口");//標題
          //設置窗口的大小和位置
          f.setLocation(30, 30);
          f.setSize(250, 200);
          //將窗口顯示出來(默認隱藏)
          f.setVisible(true);
     }
}

 注意:設置窗口位置的下x,y 是從電腦屏幕的左上角開始。     ps(請問一下我在其他博客上看到的為什么背景是白色的,難道真的是桌面圖片是白色?)

 如果點擊此窗口的右上角的“×”,窗口不會關閉,這是因為該窗口還未編寫任何事物響應,可以通過關閉程序命令關閉。

 

  通過Panel作為容器來盛裝一個文本框和一個按鈕,並將該Panel對象添加到Frame對象中

  

 1 package AWT1;
 2 import java.awt.Button;
 3 import java.awt.Frame;
 4 import java.awt.Panel;
 5 import java.awt.TextField;
 6 public class FrameTest {
 7      public static void main(String[] args) {
 8           Frame f = new Frame("測試窗口");
 9           //創建一個Panel 容器
10           Panel p=new Panel();
11           //向panel中添加兩個組件
12           p.add(new TextField(20));//20列,雖然我不知道什么是20列。
13           p.add(new Button("單機我"));//按鈕上的文字
14           //將panel放在frame
15           f.add(p);
16           f.setBounds(30, 30, 250, 200);
17           f.setVisible(true);//默認frame隱藏
18      }
19 }

ps(  TextField(20)  20列是指什么20列  )

   

   ScrollPane 是一個滾動條的容器,它不能獨立存在,必須被添加到其他容器。

    ScrollPane 特點

      1.可作為容器盛裝其他組件,當組件占用空間過大時,ScrollPane 自動產生滾動條,當然也可以通過指定特點的構造器參數來指定默認具有滾動條。

       2. 不能單獨存在,必須放置到其他容器中

       3. 默認使用BorderLayout作為其布局管理器。

      

      使用ScrollPane容器來代替Panel容器

 

public class FrameTest {
    public static void main(String[] args) {
        Frame f = new Frame("測試窗口");
        //創建一個scrollPane 容器,指定總是具有滾動條。
        ScrollPane sp= new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
        //向scrollPane容器中添加兩個組件
        sp.add(new TextField(20));
        sp.add(new Button("click"));
        //將scrollPane 容器添加到Frame 對象中
        f.add(sp);
        f.setBounds(30, 30, 250, 200);
        f.setVisible(true);
    }
}

             

注意:程序明明有一個文本框,一個按鈕,但只能看到一個按鈕,卻看不到文本框? 這是因為ScrollPane 使用BorderLayout布局管理器,導致了只有一個組件顯示出來。

  

 本人毫無編程經驗,專科生,一邊學一邊分享。也希望有大牛幫我回答文章中的問題

 第一次寫,什么也不懂,寫博客的原因時想讓大家能指出我的錯誤,歡迎指出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM