工作小驛

          Ninja!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks
                java這種語言可以編寫很多程序,圖形的程序自然不例外。AWTjava圖形編程的基礎(chǔ)。AWT就是抽象窗口工具集(Abstract Window Toolkit),是java中支持圖形化界面GUI設(shè)計的一個工具集,也是繪制其它圖形的基礎(chǔ)部分。

                java.awt.*java語言中的第3大包,這里面包含著相當(dāng)多的工具,像是字體,顏色,事件等等。首先我們看一個構(gòu)造GUI程序的例子。實踐:

          import java.awt.*;

           

          public class BorderExample {

           private Frame f; //Frame是框架類,它起到布局的作用

           private Button bn, bs, bw, be, bc; //按鈕也是一個類每new一個Button對象就是一個按鈕。

           public BorderExample() {

              f = new Frame("Border Layout");

              bn = new Button("B1");

              bs = new Button("B2");

              bw = new Button("B3");

              be = new Button("B4");

              bc = new Button("B5");

           }

           public void launchFrame() {

              f.add(bn, BorderLayout.NORTH); //后面大寫的NORTH是表明位置

              f.add(bs, BorderLayout.SOUTH); //Layout稱為布局管理器

              f.add(bw, BorderLayout.WEST);

              f.add(be, BorderLayout.EAST);

              f.add(bc, BorderLayout.CENTER);

              f.setSize(200,200);

              f.setVisible(true);

           }

           public static void main(String args[]) {

              BorderExample guiWindow2 = new BorderExample();

              guiWindow2.launchFrame();

           }}

                 再看一個例子

          import java.awt.*;

          public class ComplexLayoutExample {

           private Frame f;

           private Panel p; //Panel是一個不能單獨顯示,必須放在WindowFrame中,是一個無邊框的區(qū)域,其中可以放一些基本的組件。

           private Button bw, bc;

           private Button bfile, bhelp;

           

           public ComplexLayoutExample() {

              f = new Frame("GUI example 3");

              bw = new Button("West");

              bc = new Button("Work space region");

              bfile = new Button("File");

              bhelp = new Button("Help");

           }

           public void launchFrame() {

              // bwbc這兩個按鈕放在Frame邊上

              f.add(bw, BorderLayout.WEST);

              f.add(bc, BorderLayout.CENTER);

              // 為北側(cè)的邊上放按鈕

              p = new Panel();

              p.add(bfile);

              p.add(bhelp);

              f.add(p, BorderLayout.NORTH);

              //Panel打包使他可見

              f.pack();

              f.setVisible(true);

           }

           public static void main(String args[]) {

              ComplexLayoutExample gui = new ComplexLayoutExample();

              gui.launchFrame();

           }}

              大家看到了一些按鈕出現(xiàn)在了窗口上,但是這些按鈕都沒有什么意義,有人會發(fā)現(xiàn)關(guān)閉的按鈕不能用了,放心這是正常的。可以在DOS下面用ctrl+c來結(jié)束這個程序。那么我們想讓這些按鈕,有些作用啊,怎么辦呢?那就是需要AWT的事件處理了。我們再來看一個例子。實踐:

          import java.awt.event.*;

          //要想響應(yīng)一個事件首先實現(xiàn)一個ActionListener的接口

          public class ButtonHandler implements ActionListener {

           public void actionPerformed(ActionEvent e) {

              System.out.println("動作發(fā)生");

              System.out.println("按鈕的命令是: "

                                 + e.getActionCommand());

           }}

          import java.awt.*;

           

          public class TestButton {

           private Frame f;

           private Button b;

           

           public TestButton() {

              f = new Frame("測試");

              b = new Button("點擊我!");

          //將一個動作命令設(shè)置到一個按鈕上

              b.setActionCommand("按鈕被按下");}

           public void launchFrame() {

              b.addActionListener(new ButtonHandler());

              f.add(b,BorderLayout.CENTER);

              f.pack();

              f.setVisible(true);

           }

           public static void main(String args[]) {

              TestButton guiApp = new TestButton();

              guiApp.launchFrame();

           }

          } 上述代碼打包下載 如有問題請訪問技術(shù)論壇

          posted on 2007-08-10 17:01 王君 閱讀(226) 評論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 福建省| 金寨县| 宣化县| 赤壁市| 原平市| 抚松县| 怀远县| 瑞金市| 麻城市| 丽水市| 铁力市| 上栗县| 清水河县| 黔西| 怀化市| 屏边| 江陵县| 盘山县| 汕头市| 本溪| 定陶县| 改则县| 蒙城县| 凤庆县| 塔河县| 佛山市| 恭城| 基隆市| 株洲县| 清远市| 德江县| 宣化县| 清徐县| 原平市| 阿拉善左旗| 佛教| 宜宾市| 临桂县| 焦作市| 西华县| 伊金霍洛旗|