当前位置:编程学习 > JAVA >>

java设计和实现图形用户界面的主要工作有哪些?

创建一个Java数组有哪些步骤?

静态初始化器和构造函数有什么不同?

什么是域的隐藏,程序执行时是如何处理的?

一共有4个问题,请帮忙回答官方

 

补充:java设计和实现图形用户界面的主要工作有哪些?
追问:这位兄弟回答的太简洁了,麻烦回答详细一点,要写试卷的。

答案:

步骤如下,都是我自己整理的:

一维数组:

1.声明一维数组  在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用。声明数组是声明一个标识符能引用数组,需要指定数组元素的类型。声明一维数组有两种格式: 

        数组元素类型  数组名[];    或者    数组元素类型[]  数组名;  Student stu[];//与Student[] stu;  等价

2.创建一维数组 创建一维数组就是为数组分配存储空间,需指定数组长度。数组创建后,数组名就标识用于存储数组元素的存储空间。创建一维数组的方法有3种: 

  (1) 先声明后创建   创建数组代码的一般形式为:数组名字  =  new 数组元素类型[元素个数]; 

    例如,代码:        int   intArray [];         intArray = new  int[5]; 

 (2) 声明时创建   把声明数组和创建数组的代码结合在一起。例如:  int  intArray[] = new int[5]; 

  (3) 直接赋值创建   在声明数组时,直接给出数组的初值。例如:  int [] intArray = {1,2,3,4,5}; 

直接赋值创建数组的方法也称为数组初始化。在数组初始化的代码中,花括号{}内初值间的分隔符是逗号”,”。系统根据数组初始化时提供的初值个数确定数组的元素个数,然后为数组分配空间,并为数组各元素依次赋初值。上述代码相当于: 

  int intArray[] = new int[5]; intArray[0]=1; intArray[1]=2; intArray[2]=3;intArray[3]=4; intArray[4]=5; 

前两种方法创建数组时,系统会给数组元素提供默认初始值:数值型数组元素的默认值是0;char类型数组元素的默认值是全0代码字符;布尔类型数组元素的默认值是false。在Java中,所有数组都有一个成员length,程序可以访问它,获得数组的元素个数,但不能改变它。例如,按照前面数组intArray的定义,intArray.length的值是5。 

3.引用一维数组元素  引用一维数组元素代码的一般形式为 数组名[下标]  数组下标可以是整型常数或者整型表达式。

数组下标范围是0到数组名.length-1。为了确保程序安全性,Java运行系统对数组下标自动进行范围越界检查。

4.数组是一种引用类型 数组也是一种引用类型,一个数组名在不同时间可引用不同数组。代码: 

myArray =firstArray;  myArray =secondArray;

..2  易做图数组  数组元素有多个下标的数组就是易做图数组。易做图数组是一种数组的数组,例如,当数组的元素又是一维数组时,就是一个二维数组。在Java程序中,可以有三维数组,或四维数组等。以下以二维数组为例说明易做图数组。

1. 声明二维数组  声明二维数组的一般形式有以下3种(类似的代码可以声明易做图数组):

类型  数组名  [ ][ ]     类型  [ ][ ] 数组名        类型  [ ] 数组名 [ ]

  2. 创建二维数组  创建二维数组对象的方法有多种: 

  (1) 直接分配(平衡二维数组——矩阵):类型  数组名[][]=new  类型[长度1][长度2] 

  (2) 从最高维开始,分别对每一维分配不等长的空间(非平衡数组):以二维数组为例,先指定第一维,创建有指定子数组个数的二维数组后,依次对每个子数组确定元素个数,并创建子数组。例如,以下代码创建一个二维数组a[][],它有3个子数组,第一个子数组有4个元素,第2个子数组有5个元素,第3个子数组有2个元素: 

int a[][] = new int[3];      a[0]=new int [4];  a[1]=new int[5];  a[2]=new int[2];

(3) 直接赋值创建  声明二维数组,同时直接给出各子数组的元素。如果子数组的元素个数不同,则创建是一个非平衡的二维数组。例如,代码:  int [][]x= {{5,6,7},  {8,9,10,11},  {2,9} }; 

3 引用二维数组  二维数组元素的引用方式是: 数组名[下标1][下标2] 下标1是第一维下标,下标2是第二维下标。 

4 使用二维数组要注意的问题  对于二维数组,要注意以下两点:

  (1) 二维数组名,length和二维数组名[下标1].length的区别。二维数组名.length是二维数组的子数组个数;二

      维数组名[下标1].length是指定子数组的元素个数。(2) 二维数组名[下标]是一维数组。   

public class Examle3_1 {

    public static void main(String args[]) {

       boolean bTb1[][] = new boolean[4][];

       for (int i = 0; i < bTb1.length; i++) {

           bTb1[i] = new boolean[i + 1];

           for (int k = 0; k < bTb1[i].length; k++) {

              System.out.print(bTb1[i][k] + " ");

           }

           System.out.println("");

}}}


图形用户界面要先加入组件到容器中,然后再给组件添加易做图,具体如下:

图形界面设计基础 图形用户界面Graphical User Inte易做图ce,GUI

5.1.1AWT和Swing  Swing可以看作是AWT (AbstractWindow Toolkit)的改良版,而不是代替AWT,是对AWT的提高和扩展。所以在写GUI 程序时,Swing 和AWT 都要作用。它们共存于Java基础类(Java Foundation Class,JFC)中。 

AWT 和 Swing 都提供了构造图形界面元素的类,它们的不同:AWT 依赖于主平台绘制用户界面组件;而Swing 有自己的机制,在主平台提供的窗口中绘制和管理界面组件。Swing 与AWT 之间的最明显的区别是界面组件的外观,AWT 在不同平台上运行相同的程序,界面的外观和风格可能会有一些差异。然而,一个基于 Swing 的应用程序可能在任何平台上都会有相同的外观和风格。Swing 中的类是从AWT继承的,有些Swing类直接扩展AWT中对应的类。例如JApplet、JDialog、JFrame和JWindow。使用Swing设计图形界面,主要引入两个包: javax.swing 包含Swing 的基本类;java.awt.event 包含与处理事件相关的接口和类。 

5.1.2组件和容器 组件(component)是图形界面的基本元素,用户可以直接操作,例如按钮。容器(Container)是图形界面的的复合元素,容器可以包含组件,例如面板。Java 语言为每种组件都预定义类,程序通过它们或它们的子类创建各种组件对象,如,Swing 中预定义的按钮类JButton是一种类,程序创建的JButton对象,或JButton子类的对象就是按钮。Java语言也为每种容器预定义类,程序通过它们或它们的子类创建各种容器对象。例如,Swing中预定义的窗口类JFrame是一种容器类,程序创建的JFrame或JFrame子类的对象就是窗口。为了统一管理组件和容器,为所有组件类定义超类,把组件的共有操作都定义在Component类中。同样,为所有容器类定义超类 Container 类,把容器的共有操作都定义在 Container 类中。例如,Container 类中定义了 add()方法,大多数容器都可以用add()方法向容器添加组件。Component、Container 和Graphics 类是AWT 库中的关键类。为能层次地构造复杂的图形界面,容器被当作特殊的组件,可以把容器放入另一个容器中。例如,把若干按钮和文本框分放在两个面板中,再把这两个面板和另一些按钮放入窗口中。

5.1.3事件驱动程序设计基础

1.事件、监视器和监视器注册  图形界面上的事件是指在某个组件上发生用户操作。对事件作监视的对象称为监视器,监视器提供响应事件的处理方法。要让监视器与事件对象关联起来需对事件对象作监视器注册,告诉系统事件对象的监视器。 

2.实现事件处理的途征  java语言编写事件处理程序主要有两种方案;一个是程序重设handle

上一个:可以帮,提供一些,JAVA初级练习题吗?
下一个:大家学习java的看法有什么看法?请大家畅所欲言?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,