点对点聊天系统 v1.0
【系统需求】
在基于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 - 组件失去键盘焦点时调用。 |