当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 课前索引ix = o ns = &q
 

 

    摘要:treeview是microsoft ie webcontrols中很有用的控件,应用广泛。随着treeview打开和收拢,它所实际占据的高度也在变化,我的一个项目中,需要treeview control的高度随之变化,形成“紧凑”的布局。实现方法如下: 一、修改treeview.htc treeview.htc在http://localhost/webctrl_client/1_0/中,加入如下几行: <public:......
 ·指针及其语义和运用    »显示摘要«
    摘要: 指针及其语义和运用 本篇是《c++从零开始》系列的附篇。因友人一再认为《c++从零开始》系列中对指针的阐述太过简略,而提出的各个概念又杂七混八,且关于指针这一c++中的重要概念的运用少之又少,故本篇重点说明在《c++从零开始》系列中提出的数字、地址、指针等基础概念,并给出指针的语义,说明指针和数组的关系,阐述多级指针、多维数组、函数指针、数组指针、成员指针的语义及各自的运用。 数字、操作符、类型、类型修饰符 在《c++从零开始(三)》中已经说......


第五讲 AWT图形用户界面设计
课前索引

【相关文章:精通ejb【五】(转载)

【扩展阅读:精通ejb【三】(转载)

【扩展信息:精通ejb【四】(转载)

  1. java语言是跨平台的编程语言,那么图形用户界面如何做到跨平台?

  2. awt有哪些组件与容器?它们各自的使用方法是什么?

  3. awt的事件处理模型是什么?原理又如何?

5.1 用awt生成图形化用户界面

抽象窗口工具包awt (abstract window toolkit) 是 api为java 程序提供的建立图形用户界面gui (graphics user interface)工具集,awt可用于java的applet与applications中。它支持图形用户界面编程的功能包括: 用户界面组件;事件处理模型;图形与图像工具,包括形状、颜色与字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸与屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切与粘贴。

5.1.1 java.awt包

    java.awt包中提供了gui设计所使用的类与接口,可从图5.1中看到主要类之间的关系。

java.awt包提供了基本的java程序的gui设计工具。主要包括下述三个概念:

  组件--component

  容器--container

  布局管理器--layoutmanager

5.1.2 组件与容器

java的图形用户界面的最基本组成部分是组件(component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。

类java.awt.component是许多组件类的父类,component类中封装了组件通用的方法与属性,如图形的组件对象、大小、显示位置、前景色与背景色、边界、可见性等,因此许多组件类也就继承了component类的成员方法与成员变量,相应的成员方法包括:

   getcomponentat(int x, int y)

   getfont()

   getforeground()

   getname()

   getsize()

   paint(graphics g)

   repaint()

   update()

   setvisible(boolean b)

   setsize(dimension d)

   setname(string name)等

    容器(container)也是一个类,实际上是component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件与容器。

  布局管理器(layoutmanager):每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。

为了使我们生成的图形用户界面具有良好的平台无关性,java语言中,提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置与大小的方式。

  在程序中安排组件的位置与大小时,应该注意以下两点:

  1.容器中的布局管理器负责各个组件的大小与位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用java 语言提供的setlocation(),setsize(),setbounds() 等方法,则都会被布局管理器覆盖。

 2.如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:

   setlayout(null);

5.1.3 常用容器

容器java.awt.container是component的子类,一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。所有的容器都可以通过add()方法向容器中添加组件。有三种类型的容器:window、panel、scrollpane,常用的有panel, frame, applet。

1.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风格的窗口。

2.panel

panel与frame类似,可以添加到frame中。


...   下一页
 ·软件开发的三个阶段。    »显示摘要«
    摘要:软件开发的三个阶段。 1,“我已经熟练掌握了c++,只要你能说出来,我就能编出来。” 2,“编编试试吧,先出个1.0版,不行再改。” 3,“实在对不起,现在的科学技术水平只能这样了,您就凑合着用吧。” ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE