今天练习了一个小的聊天程序,实现客户端与服务器端相互发送消息,仿照的例子中是点击发送button实现发送消息,我忽然想到了QQ中常设的Ctrl+Enter组合键发送消息,快捷又方便,就试着改了下,原来java自身就有几乎对应的方法,于是往消息输入框添加按键监听,很容易地就实现了该功能,哈哈,舒服。。。。。。关键设置如下/***初始化消息输入框**@returnjavax.swing.JTextArea*/privateJTextAreagetInputAr
系统 2019-08-12 09:30:33 2336
在项目中,可能会遇到sybase移植到mysql的情况,因为sybase支持存储过程的可变参数,而mysql不能支持,所以,在调用mysql的时候,需要感知存储过程到底有几个参数,来合理的配置参数数量:如下是代码packagecom.xxx.util;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement
系统 2019-08-12 01:54:23 2336
原文:http://lavasoft.blog.51cto.com/62575/27069/作者:熔岩原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/27069要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此
系统 2019-08-29 23:48:30 2335
c.适配器模式我的笔记本是港货,它的插头与我们常用的插座不一样,所有我出差的时候我必须带一个适配器,才能使用不同地方的插座。这是一个对适配器模式最经典的描述。当我们设计的系统要与其它系统交互,或者我们设计的模块要与其它模块交互时,这种交互可能是调用一个接口,或者交换一段数据,接受方常常因发送方对协议的变更而频繁变更。这种变更,可能是接受方来源的变更,比如原来是A系统,现在变成B系统了;也可能是接受方自身的代码变更,如原来的接口现在增加了一个参数。由于发送方
系统 2019-08-29 22:50:56 2335
《加速Java应用开发速度》系列目录:加速Java应用开发速度1——加速spring/hibernate应用调试时启动速度加速Java应用开发速度2——加速项目调试启动速度加速Java应用开发速度3——单元/集成测试+CI加速Java应用开发速度4——使用模板技术加速项目开发速度加速Java应用开发速度5——使用脚本自动化日常操作大家可能对如下情景比较熟悉:如果开发过SSH的web项目,启动服务器可能会比较慢,有的项目甚至需要1分多钟,甚至更多,这个启动时
系统 2019-08-29 22:00:52 2335
1.下载如:mysql-connector-java-5.1.22.zip解压获取jar连接包。2.引入项目:右键项目名--->BuildPath—>ConfigureBuildPath...选择Libraries然后再选择右边第二个选项AddExternalJars导入mysql-.jar3.新建数据表:CREATETABLE`user`(`ID`int(11)NOTNULLAUTO_INCREMENT,`Name`varchar(32)NOTNULL,
系统 2019-08-12 01:52:12 2335
开始之前,我想就本文即将讨论的主题和读者需要具备的起点知识做一些必需的描叙。本文的主题是讨论SOAP技术,我们将尽可能的讲得通俗易懂一些,所以,我们引入了一个普通的“HelloWorld”范例来给读者说明它们是怎么运作的,让读者知道它们的运作方式。我认为,如果光看官方文档是很难开始学习这门新技术的,官方文档中包含大量的范例,并解释了所有的特性和优点,但是没解释它们的运作方式。在这篇文章中,我不打算只肤浅的解释SOAP技术的定义,我们假设读者熟悉Java语言
系统 2019-08-29 23:31:45 2334
/***//***按字节长度截取字符串*@paramstr将要截取的字符串参数*@paramtoCount截取的字节长度*@parammore字符串末尾补上的字符串*@return返回截取后的字符串*/publicStringsubstring(Stringstr,inttoCount,Stringmore)...{intreInt=0;StringreStr="";if(str==null)return"";char[]tempChar=str.toCh
系统 2019-08-29 22:59:44 2334
之前遇到一个老师,他从事Java行业20年了,在Python兴起的时候,他周围的其他同行们都在纷纷学习Python方面的知识,连他的学生也问他“老师,你为什么不学Python呢?”。当这位听到学生这个问题的时候,他心里一怔一下,自己从事了Java这么多年,编写了这么多年的Java代码,Java的好他最清楚不过了,觉得Python再怎么盛行他也不会改行学别的,因为在他的眼里Java是不可取代的语言!可当Python逆袭各大编程排行版后,新媒体、身边朋友也都在
系统 2019-09-27 17:56:26 2333
JavaGUITesting-JFCUnitIntroduceBackground:JFCUnitisanextensiontothepopulartestingframeworkJUnit.ThisdocumentassumesyouarefamiliarwiththeusageofJUnit.Ifnot,visitthemainJUnitwebsitewherethereareanumberoflinkstosomeexcellentresources
系统 2019-08-29 23:45:02 2333
本文为原创,如需转载,请注明作者和出处,谢谢!虽然研究生已毕业,但看到有一些难度的研究生考试题还是忍不住要做做,本文给出了09年研究生入学考试的一道数据结构题的Java实现。该题的描述如下图所示。该题的两种实现一位朋友已经完成了,详见递归和非递归实现。在本文将给出另外一种算法,该算法的空间复杂度为O(1),时间复杂度为O(n)。这在空间复杂度和时间复杂度上应该是比较优化了。本算法的基本思想如下:既然是查找倒数第K个结点(注意,不是正数,否则就没什么可讨论的
系统 2019-08-29 23:31:06 2333
假设我们在函数中写了如下这个简单的语句:StringBufferstr=newStringBuffer("Helloworld");别看这个语句简单,其实包含了如下三个步骤:首先,newStringBuffer("Helloworld")在堆里申请了一坨内存,把创建好的StringBuffer对象放进去。其次,StringBufferstr声明了一个指针。这个指针本身是存储在栈上的(因为语句写在函数中),可以用来指向某个StringBuffer类型的对象。
系统 2019-08-29 22:52:29 2333
如果您喜欢这些文章,欢迎点击此处订阅本Blog
系统 2019-08-29 22:29:04 2333
一、游戏介绍1、游戏内容简介在很多年以前,红白机FC的超级马里奥兄弟是当时的游戏中的颠峰之作,套用当时最流行的一句话就是操作感和平衡性几乎完美无暇。这里完成的MLDN马里奥参考的就是这款游戏的设定,对游戏的背景、人物、敌人等重新绘制,并加入了一些恶搞的元素。2、游戏操作游戏通过键盘操作,键盘上的箭头“”和”分别控制Mario的移动,空格键控制Mario的跳跃,通过以上的简洁的操作完成整个游戏。3、游戏中的设定开始游戏时,Mario会有3条生命,消灭敌人或顶
系统 2019-08-12 09:30:26 2333
一、表达式的组成1、数字2、运算符:+-/*^%=3、圆括号4、变量二、运算符优先级由高到低分别为:+-(正负号)、^、*/%、+-、=优先级相等的运算符按照从左到右的顺序计算三、关键技术点1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一元表达式,取数的负数;指数表达式;乘、除、取模表达式;加、减表达式;赋值表达式。2、对于每一级别的运算,都由一个方法实现,在方法中先完成比自己高一级别的运算,再处理本级别的运算。因此,在
系统 2019-08-12 09:29:44 2333