划词......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

全新java初学者实践附加教程4――――图形编程

Posted on 2007-08-12 22:02  王君  阅读(765)  评论(0编辑  收藏  举报
      java这种语言可以编写很多程序,图形的程序自然不例外。AWTjava图形编程的基础。AWT就是抽象窗口工具集(Abstract Window Toolkit),是java中支持图形化界面GUI设计的一个工具集,也是绘制其它图形的基础部分。

      java.awt.*java语言中的第3大包,这里面包含着相当多的工具,像是字体,颜色,事件等等。首先我们看一个构造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中,是一个无边框的区域,其中可以放一些基本的组件。

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

    // 为北侧的边上放按钮

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

 }}

    大家看到了一些按钮出现在了窗口上,但是这些按钮都没有什么意义,有人会发现关闭的按钮不能用了,放心这是正常的。可以在DOS下面用ctrl+c来结束这个程序。那么我们想让这些按钮,有些作用啊,怎么办呢?那就是需要AWT的事件处理了。我们再来看一个例子。实践:

import java.awt.event.*;

//要想响应一个事件首先实现一个ActionListener的接口

public class ButtonHandler implements ActionListener {

 public void actionPerformed(ActionEvent e) {

    System.out.println("动作发生");

    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("点击我!");

//将一个动作命令设置到一个按钮上

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

 }

} 上述代码打包下载 如有问题请访问技术论坛