java课程设计报告利用java设计简单聊天对话框.docx
- 文档编号:26362261
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:8
- 大小:98.38KB
java课程设计报告利用java设计简单聊天对话框.docx
《java课程设计报告利用java设计简单聊天对话框.docx》由会员分享,可在线阅读,更多相关《java课程设计报告利用java设计简单聊天对话框.docx(8页珍藏版)》请在冰豆网上搜索。
java课程设计报告利用java设计简单聊天对话框
《面向对象程序设计》
课程设计报告
题目:
利用JAVA设计简单聊天对话框
专业:
计算机科学与技术
班级:
10级
(2)班
姓名:
***
指导教师:
姚老师
成绩:
计算机与信息工程系
二0一三年六月十二日
1.课程设计目的...................................................3
2.设计框架.........................................................3
3.案例分析.........................................................4
4.程序清单.........................................................6
5.程序运行效果................................................9
6.设计心得........................................................10
7.参考文献.........................................................11
1.课程设计目的
在当今的信息时代,越来越多的聊天工具被应用,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。
使用Java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。
面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。
此次课程设计的题目为简单的聊天对话框,通过巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。
使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。
2.设计框架的形成
设计一个简单的聊天对话框,单击“清除”按钮,则消息输入文本框中的信息清除掉;单击“发送”按钮,则把消息发送到信息显示框中。
3.实例分析;
(1.)通过匿名类实现
可以通过匿名类实现“清除”按钮的事件监听,在actionPerformed方法中,当单击按钮时进行相应的处理。
本例中直接调用消息输入框(jtaInput)的setText方法,设置输入框的文本为空,以达到清除输入框中已输入文本的目的,代码如下所示。
jbClear.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jtaInput.setText("");
}
});
(2.)通过Action实现
在“发送”按钮的事件处理中,通过设置其行为(Action)来实现。
首先,需要定义一个
Action,实现其actionPerformed方法。
本例中,发生事件时能通过调用自定义的sendMessage方法来发送消息。
对于“发送”按钮,可调用setAction方法设置有按钮事件发生时的行为,代码如下所示。
ActionsendMessage=newAbstractAction(){
publicvoidactionPerformed(ActionEvente){
sendMessage();
}
};
jbSend.setAction(sendMessage);
(3.)处理键盘事件
设置文本输入框在用户按下“Enter”键时发出消息,代码如下所示。
jtaInput.getInputMap().put(KeyStroke.getKeyStroke
("ENTER"),"send");
jtaInput.getActionMap().put("send",sendMessage);
(a)调用getInputMap方法得到输入框的InputMap,再用该InputMap的put方法实现键盘的绑定,具体可参见InputMap类的使用说明。
本例中,绑定的键为“Enter“键。
(b)调用getActionMap方法得到输入框的ActionMap,再用ActionMap的put方法设置输入框的行为,这里为调用sendMessage的Action。
(4.)组件的相互控制
在sendMessage方法中,调用聊天信息显示框的insert方法插入最新收到的信息。
本例中,从名字输入框和消息输入框中得到该信息。
实际程序中应结合网络编程,从不同的主机得到。
最后用setText方法传入空的字符串来清空用户输入的消息。
代码如下所示。
privatevoidreplaceMessage(){
Stringmessage=jtfName.getText()+">"+jtaInput.getText()+"\n";
jtaChat.insert(message,jtaChat.getDocument().getLength());
4.程序清单:
importjava.awt.*;
import;
importjavax.swing.*;
publicclassActionDemoextendsJFrame{
JTextFieldjtfName;
JTextAreajtaChat;
JTextAreajtaInput;
JButtonjbSend;
JButtonjbClear;
publicActionDemo(){
super("控件的相互控制");
Containercontainer=this.getContentPane();
JPanelp=newJPanel();
jtfName=newJTextField(10);
p.add(newJLabel("主题:
Writeonce,RunAnywhere."));
p.add(newJLabel("昵称"));
p.add(jtfName);
container.add(p,BorderLayout.NORTH);
jtaChat=newJTextArea();
container.add(newJScrollPane(jtaChat),BorderLayout.CENTER);
Boxbox=newBox(BoxLayout.X_AXIS);
jtaInput=newJTextArea(3,20);
jbSend=newJButton();
jbClear=newJButton();
jbClear.setText("清除");
box.add(newJScrollPane(jtaInput));
box.add(jbClear);
box.add(jbSend);
container.add(box,BorderLayout.SOUTH);
jbClear.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jtaInput.setText("");
}
});
ActionsendMessage=newAbstractAction(){
publicvoidactionPerformed(ActionEvente){
replaceMessage();
}
};
jtaInput.getInputMap().put(KeyStroke.getKeyStroke
("ENTER"),"send");
jtaInput.getActionMap().put("send",sendMessage);
jbSend.setAction(sendMessage);
jbSend.setText("发送");
this.setSize(400,200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
privatevoidreplaceMessage(){
Stringmessage=jtfName.getText()+">"+jtaInput.getText()+"\n";
jtaChat.insert(message,jtaChat.getDocument().getLength());
jtaInput.setText("");
}
publicstaticvoidmain(String[]args){
newActionDemo();
}
}
5.程序运行效果如图所示
单击“发送”按钮,则把消息发送到信息显示框中。
单击“清除”按钮,则消息输入文本框中的信息清除掉;
6.设计心得
我花费了近一个多星期的时间,查阅了许多相关的资料,终于把这个Java聊天对话框程序基本实现了。
在设计的过程中了解到自己的知识还是比较有限,回顾起此次java设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期日子里,可以说的上是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握这门技术,也提高了自己的独立思考的能力。
在设计的过程中遇到问题,可以说得上是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。
这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。
它还让我学会了在网上查阅那些无限的资料。
让我不仅学会了书本上的知识,还让自己能够面对困难并且克服它。
7.参考文献
[1]张思民,梁维娜.Java程序设计实践教程[M].北京:
清华大学出版社2006.8:
1-21
[2]叶核亚.JAVA2程序设计实用教程[M](第2版).北京:
电子工业出版社;2008.4.
[3]范立南,韩晓微,王忠石等.基于多结构元的噪声污染灰度图像边缘检测研究[J].武汉大学学报(工学版);2003.45-49
[4]陈国君、陈磊、陈锡祯、刘洋.Java2程序设计基础[M],第一版.北京:
清华大学出版社,2006:
324-337
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 报告 利用 设计 简单 聊天 对话框