- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 22
实验:图形界面设计
(executable jar file)
实验目的:
Java有三个主要的图形界面工具:AWT,Swing和SWT。Swing 是构建java图形界面标准的API(应用程序接口)。SWT是一个非常有前途的新的窗体工具,由IBM资助。但是事实上,这三者相互补充,他们满足不同的需求。
抽象窗口工具集为简单的applet程序设计,它不适宜用来构建丰富的桌面图形界面。但是从开始被介绍,它至少有一个好的思想就是布局管理,它负责为组件找到一个放置的位置,这种机制是必需的,因为GUI组件在不同的操作系统中有不同的尺寸。 现在, AWT扩展了组件模型和事件处理机制(由JavaBeans说明定义),新的图形API(称为Java 2D),支持剪贴板和拖拉操作,打印,准入,和新的GUI工具Swing,所有这些都归到Java基础类中(JFC)。它有一套完全的组件从按钮到文件域到表格,树型和文件编辑器。这些组件不依赖于操作系统本地的部件,而是用原始的图形像直线、矩形、文字画出。这种画代表感观插件,它能够模仿本地的感观。 Swing也有平台无关的外观称为Metal。 Swing的结构由MVC模式得到启发,这里在屏幕上的视觉GUI组件和支持数据的模型对象之间有一个明显的分隔,在GUI和数据层之间的通讯基于事件。
本实验利用Swing实现简单的聊天程序的界面。
实验对应知识点:
Swing的API,JavaBean中的绑定的属性。
实验前任务:
预习有关Swing、JavaBean的章节内容。
实验步骤:
创建一个聊天程序的界面
该聊天程序包括一个Frame,其中包括一个不可编辑的文本框,用来显示聊天的内容,一个JTabbedPane用来切换“公聊”(public)和“私聊”(private)的内容,两个标签(label),一个JComboBox用来显示当前在线的用户,一个输入框用来输入聊天的内容,还有一个发送聊天信息的按钮。
只有当用户选择了某个在线用户发送聊天信息时,内容才会显示到“私聊”的文本框上,否则聊天内容显示到“公聊”的文本框上。
图形用户界面见图 6.1。
图 6.1
程序模板:
/**
* ChatDisplay.java
* @author YourName
*/
package YourPackageName;
import java.beans.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
* ChatDisplay is a user interface to display chat messages.
* User can add and remove a chat user, display a message in a ChatDisplay
* or send a message to the ChatDisplay. If there is an error, nothing happens.
*/
public class ChatDisplay extends JPanel implements Serializable, ActionListener, ChangeListener {
/** indicate the default user, who is sending messages */
private String mySelf;
/**manages the PropertyChangeListener and informs them on change of property */
private PropertyChangeSupport propertySupport;
/** main panel that contains the complete ChatDisplay */
private JPanel interfacePanel;
/** user panel mainly containing user combo box */
private JPanel userPanel;
/** the label user for the user selection combo box */
private JLabel userLabel;
/** combo box
文档评论(0)