JAVA SWING重难点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教学重点与难点:

框架的组成及外观

在框架中显示文本和图形

字体和颜色的设置

Java的事件处理机制

窗口事件、焦点事件、键盘事件、鼠标事件的处理

Swing各种组件的用法

9.1图形用户界面设计概述

9.1.1 GUI支持包和简单GUI程序例

1.java.awt包

Java语言在java.awt包中提供了大量地进行GUI设计所使用的类和接口,包括绘制图形、设置字体和颜色、控制组件、处理事件等内容,AWT是Java语言进行GUI程序设计的基础。

2. javax.swing包

Swing包是Java基础类库(Java Foundation Classes,JFC)的一部分。Swing提供了从按钮到可分拆面板和表格的所有组件。

Swing组件是Java语言提供的第二代GUI设计工具包,它以AWT为基础,在AWT内容的基础上新增或改进了一些GUI组件,使得GUI程序功能更强大,设计更容易、更方便。"Swing"是开发新组件的项目代码名,现在,这个名字常用来引用新组件和相关的API。

AWT组件和对应的Swing组件,从名称上很容易记忆和区别。例如,AWT的框架类、面板类、按钮类和菜单类,被命名为Frame、Panel、Button和Menu,而Swing对应的组件类被命名为JFrame、JPanel、JButton和JMenu。与AWT组件相比,Swing组件的名前多一个“J”字母。另外,AWT 组件在java.awt包中,而Swing组件在javax.swing包中。

简单图形用户界面

类 JFrame

frame 是带有标题和边界的顶层窗口,frame 的大小包括边界指定的所有区域,frame 的默认布局为 BorderLayout。

如前所述,与AWT组件不同,Swing组件不直接添加到顶层容器中,它必须添加到一个与Swing 顶层容器相关联的内容面板上。对JFrame添加组件有两种方式:

类 JFrame

(1)使用getContentPane( )方法获得JFrame的内容面板,再对其加入组件:

frame.getContentPane().add(childComponent);

其中“childComponent”为基本组件。

(2)构造一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用

setContentPane()方法把该容器置为JFrame的内容面板:

Jpanel pnlMain=new Jpanel( );//构造一个面板为中间容器

……//把其它组件添加到Jpanel中;

frame.setContentPane(pnlMain);//把contentPane对象设置成为frame的内容面板

构造方法

JFrame()

构造一个初始时不可见的新窗体。JFrame(String title)

创建一个新的、初始不可见的、具有指定标题的 Frame。

方法

getContentPane()

返回此窗体的 contentPane 对象(内容面板,组件要添加到此)

getJMenuBar()

返回此窗体上设置的菜单栏。

setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated)

提供一个关于新创建的 JFrame 是否应该具有当前外观为其提供的 Window 装饰(如边框、关闭窗口的小部件、标题等等)的提示。

setIconImage(Image image)

设置要作为此窗口图标显示的图像。

方法

setJMenuBar(JMenuBar menubar)

设置此窗体的菜单栏。

其他继承的方法(和awt的frame一样)

public void setBounds(int a,intb,int width,int heigth)

public void setSize(int width,int heigth)

public void setLocation(int x,int y)

public void setVisible(boolean b)

public void setResizable(boolean b)//是否允许调大小

jFrame.setUndecorated(true);

// 这样就可以去掉Jframe中对window的装饰了,无标题栏

练习1建立一个有标题可以关闭的JFrame(ch9_1.java)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ch9_1 extends JFrame

{

public ch9_1()

{

//标题

super("我的第一个JFrame窗口");

//设置大小和位置

setBounds(20,20,500,300);

//点击关闭按钮可以关闭窗口

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

/*

//第二种方法点击关闭按钮可以关闭窗口

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

*/

}

相关文档
最新文档