工作小驛

          Ninja!

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

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

          import java.awt.*;

           

          public class BorderExample {

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

           private Button bn, bs, bw, be, bc; //按鈕也是一個(gè)類每new一個(gè)Button對(duì)象就是一個(gè)按鈕。

           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();

           }}

                 再看一個(gè)例子

          import java.awt.*;

          public class ComplexLayoutExample {

           private Frame f;

           private Panel p; //Panel是一個(gè)不能單獨(dú)顯示,必須放在WindowFrame中,是一個(gè)無邊框的區(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這兩個(gè)按鈕放在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)在了窗口上,但是這些按鈕都沒有什么意義,有人會(huì)發(fā)現(xiàn)關(guān)閉的按鈕不能用了,放心這是正常的。可以在DOS下面用ctrl+c來結(jié)束這個(gè)程序。那么我們想讓這些按鈕,有些作用啊,怎么辦呢?那就是需要AWT的事件處理了。我們?cè)賮砜匆粋€(gè)例子。實(shí)踐:

          import java.awt.event.*;

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

          public class ButtonHandler implements ActionListener {

           public void actionPerformed(ActionEvent e) {

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

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

                                 + e.getActionCommand());

           }}

          import java.awt.*;

           

          public class TestButton {

           private Frame f;

           private Button b;

           

           public TestButton() {

              f = new Frame("測(cè)試");

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

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

              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();

           }

          } 上述代碼打包下載 如有問題請(qǐng)?jiān)L問技術(shù)論壇

          posted on 2007-08-10 17:01 王君 閱讀(226) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 哈尔滨市| 绩溪县| 辽阳县| 东阿县| 金华市| 高安市| 武夷山市| 东兴市| 江门市| 临桂县| 珲春市| 务川| 桐梓县| 鱼台县| 克什克腾旗| 麻城市| 石嘴山市| 德昌县| 长宁区| 襄樊市| 尼木县| 西青区| 铅山县| 阳新县| 江川县| 和田市| 军事| 高平市| 深泽县| 凉城县| 西城区| 柯坪县| 珠海市| 华蓥市| 贵溪市| 巴楚县| 淮阳县| 清水河县| 汉中市| 峡江县| 伽师县|