学习总结

学习总结:

过了一个学期时间的学习,对java这门语言也有了比以前更深刻的认识,取经之路还相当漫长,希望通过即时的总结了解自己学习的状况。

近期基本上都是学习的java的一些基本语法,比如数据类型、运算符、程序流程控制、数组,也在逐渐上升到面向对象编程这一概念。

而java最核心的核心就是面向对象思想,只要能够掌握好面向对象这一核心概念,基本上java的学习就算入门了。

java所有的对象都存在于它所属的类。而每个类都有它自身的属性和方法,我们通过对对象的属性和方法的归纳将特定的对象归为一类。我们只需要建立一个类,给这个类定义好对象需要的属性和方法,所有该类对象都可以通过new类来快速使用它需要的属性和方法。从而大大减少代码量,并且让界面更简洁,而且当我们再次需要用到和该类相关的属性和行为时,我们只需要去调用它,相当之方便。

java提供了继承、多态、封装、抽象等多种方法,让类与类之间的使用和访问更加灵活,并且程序在执行的过程中也更加安全。

java另一大优势,是其经过多年的发展,类库相当丰富,前辈们为我们写好了各种方法和开发中需要的各种类,我们只需要懂得调用就可以轻松实现很多功能,大大减少了开发时间。

java拥有强大的跨平台性,一次编译随处运行。并且,其异常处理机制,让java代码编写的程序拥有着强大的健壮性。

 

还有很多不是很懂得地方:

字节流 InputStream OutputStream 

字符流 Reader Writer 

他们都是抽象类 

具体实现 
字节流 FileInputStream FileOutputStream 
字符流 FileReader FileWriter 
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.
所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

字节流转换成字符流可以用 InputSteamReader OutputStreamWriter

 

 

桌面

在启动时显示,也是界面中最底层,有时也指代包括窗口、文件浏览器在内的“桌面环境”。在桌面上由于可以重叠显示窗口,因此可以实现多任务化。一般的界面中,桌面上放有各种应用程序和数据的图标,用户可以依此开始工作。桌面与既存的文件夹构成里面相违背,所以要以特殊位置的文件夹的参照形式来定义内容。比如在微软公司的WindowsXP系统中,各种用户的桌面内容实际保存在系统盘(默认为C盘):\DocumentsandSettings\[用户名]\桌面文件夹里。

墙纸,即桌面背景。可以设置为各种图片和各种附件,成为视觉美观的重要因素之一。

视窗

应用程序为使用数据而在图形用户界面中设置的基本单元。应用程序和数据在窗口内实现一体化。在窗口中,用户可以在窗口中操作应用程序,进行数据的管理、生成和编辑。通常在窗口四周设有菜单、图标,数据放在中央。

在窗口中,根据各种数据/应用程序的内容设有标题栏,一般放在窗口的最上方,并在其中设有最大化、最小化(隐藏窗口,并非消除数据)、最前面、缩进(仅显示标题栏)等动作按钮,可以简单地对窗口进行操作。

单一文件界面(SingleDocumentInterface)

在窗口中,一个数据在一个窗口内完成的方式。在这种情况下,数据和显示窗口的数量是一样的。若要在其他应用程序的窗口使用数据,将相应生成新的窗口。因此窗口数量多,管理复杂。

多文件界面(MultipleDocumentInterface)

在一个窗口之内进行多个数据管理的方式。这种情况下,窗口的管理简单化,但是操作变为双重管理。

标签

多文件界面的数据管理方式中使用的一种界面,将数据的标题在窗口中并排,通过选择标签标题显示必要的数据,这样使得接入数据方式变得更为便捷。

上述中,多文件界面主要是微软视窗系统采用。而在其他环境中,通常多是单文件界面,所以无所谓单一/多文件界面的称呼问题。

菜单

将系统可以执行的命令以阶层的方式显示出来的一个界面。一般置于画面的最上方或者最下方,应用程序能使用的所有命令几乎全部都能放入。重要程度一般是从左到右,越往右重要度越低。命定的层次根据应用程序的不同而不同,一般重视文件的操作、编辑功能,因此放在最左边,然后往右有各种设置等操作,最右边往往设有帮助。一般使用鼠标的第一按钮进行操作。

即时菜单

与应用程序准备好的层次菜单不同,在菜单栏以外的地方,通过鼠标的第二按钮调出的菜单称为“即时菜单”。根据调出位置的不同,菜单内容即时变化,列出所指示的对象目前可以进行的操作。

图标

显示在管理数据的应用程序中的数据,或者显示应用程序本身。

数据管理程序,即在文件夹中用户数据的管理、进行特定数据管理的程序的情况下,数据通过图标显示出来。通常情况下显示的是数据的内容或者与数据相关联的应用程序的图案。另外,点击数据的图标,一般可以之间完成启动相关应用程序以后再显示数据本身这两个步骤的工作。

应用程序的图标只能用于启动应用程序。

按钮

菜单中,利用程度高的命令用图形表示出来,配置在应用程序中,成为按钮。

应用程序中的按钮,通常可以代替菜单。一些使用程度高的命令,不必通过菜单一层层翻动才能调出,极大提高了工作效率。但是,各种用户使用的命令频率是不一样的,因此这种配置一般都是可以由用户自定义编辑。

 

Swing和AWT

图形用户界面相关类捆绑在一起,放在一个称为抽象窗口工具箱(Abstract Window Toolkit,AWT)的库中.AWT适合开发简单的图形用户界面,但并不适合开发复杂的GUI项目。AWT的用户界面组件就被一种更稳定,更通用和更灵活的库取代,这种库称为Swing组件(Swing component)库。大多数Swing组件都是直接用java代码在画布上绘图的,而java.awt.Window或java.awt.Panel的子类的组件例外,它们必须使用在特定平台上自己的GUI 来绘图。Swing组件更少的依赖于目标平台并且更少的使用自己的GUI资源。因此,不依赖于自己GUI的Swing组件称为轻量级组件(lightweight component),而AWT组件称为重量级组件(heavyweight component).

1、JPanel

JPanel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对对窗体上的这些控件进行组合

构造方法

 

 

2、JSplitPane

JSplitPane能将窗口分割成两部分。

JSplitPane提供两个常数让你设置到底是要水平分割还是垂直分割。

这两个常数分别是:HORIZONTAL_SPITVERTICAL_SPLIT

使用多个JSplitPane可以实现复杂分割。

JSplitPane类的主要方法及常量

 

3、JTabbedPane

选项卡面板(JTabbedPane):一个面板上设置多个选项卡供使用者选择。

一个组件,它允许用户通过单击具有给定标题或图标的选项卡,在一组组件之间进行切换。

JTabbedPane类的常用方法及常量

 

4、JScrollPane

JScrollPane的主要功能就是为显示的内容添加滚动条。

JScrollPane类可提供轻量级组件的 scrollable 视图。JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。

JScrollPane的常用方法及常量

    • 5、JDesktopPane与JInternalFrame

    • JDesktopPane类的两个常用方法:
    • 6.文本组件:

    • 各软件系统中都存在文本输入框,以方便用户输入数据,在Swing中提供了几类文本输入框:

      单行文本输人框: JTextField
      密码文本输入框: JPasswordField
      多行文本输入框:JFextArea

       

      7.事件和监听器:

    • 要想让组件发挥作用,必须对所有的组件进行事件处理。
      Java中使用事件表示一个对象的状态发生变化。例如当按钮按下时,实际上按钮的状态发生了变化,此时就会产生一个事件,如果要想处理此事件,就需要事件的监听者能不断的监听事件的变化,并根据这些事件进行相应的处理。(注:在Swing编程中,所有的事件类都是EventObject类的子类。


      8.动作事件及监听处理AotionListener:

    • 一个按钮想要让其变得有意义,就必须使用事件处理,在Swing的事件处理中,可以使用ActionListener接口处理按钮的动作事件。
      注:AotionListener接口只定义了一个方法。

posted on 2019-12-13 15:22  t唐明  阅读(175)  评论(0编辑  收藏  举报