图形用户界面GUI


图形用户界面GUIjava

CLICommand Line User Interface(命令行用户接口)框架

就是常见的Dos命令行操做。函数

 

GUIGraphical User Interface(图形用户接口)工具

用图形的方式,来显示计算机操做的界面。布局

JavaGUI提供的对象都存在java.Awtjavax.Swing两个包中。spa

java.Awt包:Abstract Window ToolKit(抽象窗口工具包),须要调用本地系统方法实现功能,属重量级控件。命令行

java.Swing包:在Awt的基础上创建的一套图形界面系统,其中提供了更多的组件,并且彻底由java实现。加强了移植性,属轻量级控件。code

 

 

如何编写图形用户界面(GUI):对象

    首先,是建立框架。所谓框架,在java中,顶层窗口就称为框架(frame)。在AWT库中有个称为Frame的类用于描述顶层窗口。Swing版本名为JFrame。继承

而后,框架的定位。JFrame类自己只包含若干个改变框架外观的方法,然而经过继承从JFrame的各个父类中继承了许多方法。其中包括:

       ·setLocation和setBounds方法用于设置框架的位置。

       ·setIconImage用于窗口系统在标题栏、任务却换窗口等位置显示图标。

       ·setTitle用于设置标题栏的文字

       ·setResizable肯定框架的大小是否容许用户改变。

其次,设置框架属性,决定框架的大小。

最后,在组件中显示信息。绘制一个组件,须要定义一个扩展JComponent的类,并覆盖其中的paintComponent方法。paintComponent方法有一个Graphics类型的参数,这个参数保存着用于绘制图像和文本的设置。

下列代码给出了如何建立一个可以进行绘制的组件:

class MyComponent extends JComponent

{

       publicvoid paintComponent(Graphics g)

       {

              codefor drawing

       }

}

 

不管何种缘由,只要窗口须要从新绘图,时间处理器就会通告组件,从而引起执行全部组件的painComponent方法。不要本身去调用painComponent方法,在应用程序须要从新绘图的时候,这个方法会被自动地调用,不要人为地干预这个自动的出来过程。

从上述的代码看。paintComponent方法只有一个Graphics类型的参数。对屏幕来讲,Graphics对象的对量单位是像素。坐标(0,0)指出所绘制组件表面的左上角。

常见的布局管理器:

FlowLayout(流式布局管理器)

从左到右的顺序排列。

Panel默认的布局管理器。

BorderLayout(边界布局管理器)

东南西北中

Frame默认的布局管理器

GridLayout(网格布局管理器)

规则的矩阵

GridBagLayout(网格包布局管理器)

非规则的矩阵

CardLayout(卡片布局管理器)

选项卡

 

事件监听机制:

事件源(组件):图形界面组件。

事件(Event):每一个组件都有本身特有的对应事件和共性事件。

监听器(Listener):将触发某一事件的动做已封装在监听器中。

事件处理:引起事件后的处理方式。

 

举例:

Window类中的事件监听器:

addWindowListener(WindowListener l) 

          添加指定的窗口侦听器,以今后窗口接收窗口事件。

可是此方法中的参数为WindowListener接口如使用其中的方法需自定类实现此接口并重写此接口中的全部方法比较麻烦,因此使用其子类WindowAdapter,此类为抽象类可是里面没有抽象方法因此自定类继承此子类并用到哪一个方法就重写哪一个方法便可。

 

菜单:

MenuBar:菜单样类

Menu:菜单类

MenuItem:菜单项类

 

MenuBar 类封装绑定到框架的菜单栏的平台概念。为了将该菜单栏与 Frame 对象关联,能够调用Frame 对象的 setMenuBar 方法。

 

FileDialog文件对话窗中的打开和保存:

构造方法:

FileDialog(Dialog parent, String title, int mode) 

          建立一个具备指定标题的文件对话框窗口,用于加载或保存文件。

其中的mode- 对话框的模式,能够是 FileDialog.LOAD 或 FileDialog.SAVE

 

方法:

 void addNotify() 

          建立文件对话框的同位体。 

 String getDirectory() 

          获取此文件对话框的目录。 

 String getFile() 

          获取此文件对话框的选定文件。 

 FilenameFilter getFilenameFilter() 

          肯定此文件对话框的文件名过滤器。 

 int getMode() 

          指示此文件对话框是用于从文件加载内容仍是将内容保存到文件。 

protected  String paramString() 

          返回表示此 FileDialog 窗口状态的字符串。 

 void setDirectory(String dir) 

          将此文件对话框窗口的目录设置为指定目录。 

 void setFile(String file) 

          将此文件对话框窗口的选定文件设置为指定文件。 

 void setFilenameFilter(FilenameFilter filter) 

          将此文件对话框窗口的文件名过滤器设置为指定的过滤器。 

 void setMode(int mode) 

          设置文件对话框的模式。 

 

Jar包双击执行:

举例说明:

1.打包:javac -d c:myclass MyMenuTest.java

2.在包的同级目录下创建一个txt文件,文件名自取。

3.txt文件中写入:

Main-Class:+空格+包名.主函数所在的类名+回车

注意:以上是固定格式,空格和回车必须加上。

4.须要在Windows系统中注册.jar格式后才可运行此类文件。注册步骤以下:

工具-文件夹选项-文件类型-新建

而后输入jar点肯定,再点高级,更改图标,新建,而后操做栏输入open,点浏览,选择javajavaw应用程序,选择好后在目录后加空格再加-jar,最后点肯定便可。