传智播客——awt细节

来源:互联网 发布:易语言取网页源码 编辑:程序博客网 时间:2024/05/22 07:57

一: 常用容器

  容器java.awt.Container是Component的子类,一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。所有的容器都可以通过add()方法向容器中添加组件。

  有三种类型的容器:Window、Panel、ScrollPane,常用的有Panel, Frame, Applet。

二:Frame

  

  以下是容器的例子:

 
  import java.awt.*;
  public class MyFrame extends Frame{
  public static void main(String args[ ]){
        MyFrame fr = new MyFrame("Hello Out There!");
                       //构造方法
        fr.setSize(200,200);
                //设置Frame的大小,缺省为(0,0)
        fr.setBackground(Color.red);
                //设置Frame的背景,缺省为红色
        fr.setVisible(true);
                //设置Frame为可见,缺省为不可见
  }
     public MyFrame (String str){
        super(str); //调用父类的构造方法
     }
  }

查看运行结果

  一般我们要生成一个窗口,通常是用Window的子类Frame来进行实例化,而不是直接用到Window类。Frame的外观就像我们平常在windows系统下见到的窗口,有标题、边框、菜单、大小等等。每个Frame的对象实例化以后,都是没有大小和不可见的,因此必须调用setSize( )来设置大小,调用setVisible(true)来设置该窗口为可见的。

  另外,AWT在实际的运行过程中是调用所在平台的图形系统,因此同样一段AWT程序在不同的操作系统平台下运行所看到的图形系统是不一样的。例如在windows下运行,则显示的窗口是windows风格的窗口;而在UNIX下运行时,则显示的是UNIX风格的窗口。

三: Panel


  import java.awt.*;
  public class FrameWithPanel extends Frame{
  public FrameWithPanel(String str){
        super(str);
      }

      public static void main(String args[]){
        FrameWithPanel fr = new FrameWithPanel("Frame with Panel");
        Panel pan=new Panel();
        fr.setSize(200,200);
        fr.setBackground(Color.red);
               //框架fr的背景颜色设置为红色
        fr.setLayout(null);
               //取消布局管理器
        pan.setSize(100,100);
        pan.setBackground(Color.yellow);
               //设置面板pan的背景颜色为黄色
        fr.add(pan); //用add方法把面板pan添加到框架fr中
        fr.setVisible(true);
        }
   }

    查看运行结果

  一般我们要生成一个窗口,通常是用Window的子类Frame来进行实例化,而不是直接用到Window类。Frame的外观就像我们平常在windows系统下见到的窗口,有标题、边框、菜单、大小等等。每个Frame的对象实例化以后,都是没有大小和不可见的,因此必须调用setSize( )来设置大小,调用setVisible(true)来设置该窗口为可见的。

  学习总结:java优秀的设计体系使得即使在和。net相比较而言很烂的图形化设计界面,在我看来还是逻辑很清晰的,这一块组件类众多,掌握了基本的用法之后就可以了,现查现用才是王道。