Liny_@NotePad

沉迷ACG中

点对点聊天系统 v1.0

【系统需求】

聊天交流是目前互联网提供的主要内容。聊天系统有多种实现方式,类似ICQ属于一种点对点的聊天系统,还有一种是基于Socket的集中式聊天系统,这种聊天系统需要登录统一的聊天服务器,每个人的聊天信息其他人都可以看到,类似一种会议室,当然,两个人之间也可以进行保密的私语。

在基于Socket的聊天系统中,主要有两种角色:服务器和客户端,不同的客户端登录集中式的服务器,通过服务器将一个客户端发出的信息推送到其他所有客户端。

【基本功能要求】

 · 必须能够支持两个客户端一起聊天。
 · 客户端和服务器必须保持随时随地的连接,一个客户端发出聊天信息的同时,另一个客户端接受发送过来的聊天信息。

【目标】

 · 熟悉使用网络编程,socket编程
 · 熟悉使用多线程编程
 · 复习Swing图形化设计

【程序说明】

本程序应许多个客户端连接服务器进行聊天。
客户端发送信息给服务器,服务器接收信息并通知给所有已连接上的客户端。

加密解密小程序

米事写的小程序 - -
操作是写入密匙(限定是长度最多为10的数字串)/字符 实时转换
加密方法是对每个字符*(除了字母之外所有字符也都可行 - -)进行向后移位的操作。

【程式截图】
 

乌鸦喝水(异常处理版 >_<)

由于都没有人发 索性便发出来吧。。不过UT没写好 >_<

【要求】

改写乌鸦喝水案例,扩展场景:乌鸦面对一堆大小不一的石头,且其中可能有伪装成石头的小炸药丸,面对的瓶子可能是普通的瓶子,也可能是魔瓶。对于大于瓶口直径的石头,瓶子将抛出一个“装入物太大”的Checked异常,如果装入了一颗小炸药,瓶子抛出一个UnChecked异常“瓶子被炸飞了”,乌鸦喝不到水,抛出一个Checked异常。如果乌鸦遇到的是一个魔瓶,任何往瓶子投物的动作,都将触发一个瓶子的Unchecked异常,并且乌鸦遇到这个异常后,只能惨叫一声“哇哇”,然后把该异常重新抛出。

限定 Override 父类方法 - Override

【本文来自Gossip@caterpillar的Java Gossip】http://caterpillar.onlyfun.net/GossipCN/JavaGossip-V2/JavaGossip2.htm
java.lang.Override是J2SE 5.0中标准的Annotation型态之一,它对编译器说明某个方法必须是重新定义父类别中的方法,编译器得知这项资讯后,在编译程式时如果发现该方法并非重新定义父类别中的方法,就会回报错误。

java6的@override注解与java5的不同之处

我在自己PC上跑好的程序在机房有时不能通过编译,把@override去掉倒正常了,但是有的代码则不会出错。
百度了下,原来是重写接口方法时才会遇到的问题。(怪不得总是在重写侦听器方法时遇到@_@)。
但是它并没有告诉解决方法:(

【以下转载自一界书生的CSDN BLOG】http://blog.csdn.net/wangjian5748/archive/2007/08/10/1736294.aspx

为面板(JPanel)添加标题

需求:用实线把各个面板圈起来,然后把面板的名字写在圈圈的左上角。

示例:

Swing事件源通常可能触发事件及对应事件监听器

事件源

事件对象

事件监听器

JFrame MouseEvent
WindowEvent
MouseEventListener
WindowEventListener
AbstractButton
(JButton, JToggleButton,
  JCheckBox, JRadioButton)
ActionEvent
ItemEvent
ActionListener
ItemListener
JTextField
JPasswordField
ActionEvent
UndoableEvent
ActionListener
UndoableListener
JTextArea CareEvent
InputMethodEvent
CareListener
InputMethodEventListener
JTextPane
JEditorPane
CareEvent
DocumentEvent
UndoableEvent
HyperlinkEvent
CareListener
DocumentListener
UndoableListener
HyperlinkListener
JComboBox ActionEvent
ItemEvent
ActionListener
ItemListener
JList ListSelectionEvent
ListDataEvent
ListSelectionListener
ListDataListener
JFileChooser ActionEvent ActionListener
JMenuItem ActionEvent
ChangeEvent
ItemEvent
MenuKeyEvent
MenuDragMouseEvent
ActionListener
ChangeListener
ItemListener
MenuKeyListener
MenuDragMouseListener
JMenu MenuEvent MenuListener
JPopupMenu PopupMenuEvent PopupMenuListener
JProgressBar ChangeEvent ChangeListener
JSlider ChangeEvent ChangeListener
JScrollBar AdjustmentEvent AdjustmentListener
JTable ListSelectionEvent
TableModelEvent
ListSelectionListener
TableModelListener
JTabbedPane ChangeEvent ChangeListener
JTree TreeSelectionEvent
TreeExpansionEvent
TreeSelectionListener
TreeExpansionListener
JTimer ActionEvent ActionListener

该表列出了Swing事件源通常可能触的发事件及对应的事件监听器,它们也位于java.awt.event包和javax.swing.event包中。

AWT事件监听作业学习例子(5) - FocusEvent

【事件执行情况】指示 Component 已获得或失去输入焦点时执行。
【传递的接口名】FocusListener
【需要实现方法】focusGained - 组件获得键盘焦点时调用;focusLost - 组件失去键盘焦点时调用。