JTree--一个简单的DemoTree例子演示

作者:胡志刚 发布时间:March 30, 2007 分类:所谓技术

package com.hmilyld;

import java.awt.BorderLayout;
import java.lang.reflect.InvocationTargetException;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

public class DemoTree {
  private static void createUI() {
    DefaultMutableTreeNode home = new DefaultMutableTreeNode("学生管理系统");
    DefaultMutableTreeNode stu1 = new DefaultMutableTreeNode(new UserInfo("测试1","地址1","电话1"));
    DefaultMutableTreeNode stu2 = new DefaultMutableTreeNode(new UserInfo("测试2","地址2","电话2"));
    DefaultMutableTreeNode stu3 = new DefaultMutableTreeNode(new UserInfo("测试3","地址3","电话3"));
    home.add(stu1);home.add(stu2);home.add(stu3);
    JTree tree = new JTree(home);
    tree.addTreeSelectionListener(new TreeSelectionListener(){

      public void valueChanged(TreeSelectionEvent e) {
        JTree tree = (JTree)e.getSource();
        DefaultMutableTreeNode node = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
        UserInfo user = (UserInfo)node.getUserObject();
        System.out.println("姓名为:"+user.getUsername()+" 地址为:"+user.getAddress()+" 电话为:"+user.getPhone());
      }
    }
    );
    JFrame frame = new JFrame("学生管理系统示意图");
    JScrollPane scrollPane = new JScrollPane(tree);
    frame.getContentPane().add(scrollPane,BorderLayout.CENTER);
    frame.pack();
    frame.setVisible(true);
    frame.setBounds(100, 100, 500, 500);
    frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
    
  }

  public static void main(String[] args) {
    try {
      javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
        public void run() {
          createUI();
        }
      });
    } catch (InterruptedException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
    }

  }

}

class UserInfo {
  private String username;

  private String address;

  private String phone;

  UserInfo(String username, String address, String phone) {
    this.username = username;
    this.address = address;
    this.phone = phone;
  }

  public String toString() {
    return username;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

}

爱的定义……

作者:胡志刚 发布时间:March 30, 2007 分类:随笔心情

给爸妈打电话,在要放电话的时候,通常最后一句话,爸妈会说,
照顾好自己,穿暖和点,吃好点。
也许每天晚上7点半的天气预报爸妈都是必看的,
记得小时候,每天晚上爸都会看郑州的天气如何,
现在,不过是加了一个让他们注意的地方,西安,
尽管在这个城市里面,他们认识的人似乎只有我一个,但这些已经足够了。

有时候,问问出门在外的自己,你是否注意过家乡的天气如何?
是冷了,是热了?打电话的时候不妨说句,爸妈多注意天气变化,保重身体,尽管这并不会浪费你多少电话费,
但带给父母的或许不单单是一句话的意义了.

实现socket和server通话--多线程

作者:胡志刚 发布时间:March 29, 2007 分类:所谓技术

Client.java

package com.hmilyld;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {

  public static void main(String[] args) {
    try {
      Socket socket = new Socket("192.168.2.93",10009);
      InputStream input = socket.getInputStream();
      OutputStream output = socket.getOutputStream();
      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
      BufferedReader readerSocket = new BufferedReader(new InputStreamReader(input));
      PrintWriter writer = new PrintWriter(output);
      while(true){
        String temp = reader.readLine();
        writer.println(temp);
        writer.flush();
        if(temp.equals("exit")){
          break;
        }
      System.out.println(readerSocket.readLine());
      }
      socket.close();
    } catch (UnknownHostException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
    } catch (IOException e) {
      // TODO 自动生成 catch 块
      e.printStackTrace();
    }
    
    
  }

}

server.java

阅读剩余部分...

Adobe Dreamweaver CS3暨Creative Suite 3问世

作者:胡志刚 发布时间:March 29, 2007 分类:网络杂谈

只能说,太强悍了,等待破解版吧下载吧.HOHO




借助 Adobe Dreamweaver CS3 软件, 快速、轻松地完成设计、开发和维护网站和 Web 应用程序的全过程。

Dreamweaver CS3 是为设计人员和开发人员而构建的, 它提供一个选择: 是在直观的可视布局界面中工作, 还是在简化的编码环境中工作。

与Adobe Photoshop CS3、Adobe Illustrator CS3、Adobe Fireworks CS3、AdobeFlash CS3 Professional 和 Adobe Contribute CS3软件的智能集成确保在您喜爱的工具上有一个有效的工作流。

Adobe Dreamweaver CS3新功能包含 CSS 工具, 用于构建动态用户界面的 Ajax 组件, 以及与其他 Adobe 软件的智能集成。

·适合于 Ajax 的 Spry 框架
·Spry 数据
·Spry 构件
·Spry 效果
·Adobe Photoshop 和 Fireworks 集成
·浏览器兼容性检查
·CSS Advisor 网站
·CSS 布局
·CSS 管理
·Adobe Device Central CS3

Dreamweaver CS3 (Preorder US$399 / Upgrade from US$199

Dreamweaver CS3功能介绍:
英文:http://www.adobe.com/products/dreamweaver/features/
中文:http://www.adobe.com/cn/products/dreamweaver/features/

========================================

阅读剩余部分...

把这套模版又自己修改了下,现在感觉好多勒,呵呵

作者:胡志刚 发布时间:March 29, 2007 分类:随笔心情

本来就超喜欢这款WP的模版的,
无奈,对BO的模版体系不怎么熟悉,想转也转不了,
正好,前几天去BO乱转的时间,发现了这款模版,
赶紧弄回来了,装上后效果还不错,呵呵,都还满意,
就是一些细节上看着有点不爽勒,自己又稍微改了下,

1:修改了标题前的日期显示问题,
感觉还是WP上的那种爽,月份在上面,日期在下面,然后大小又修改了下

2:修改了右侧PANEL,当鼠标移动到上面时候的字体颜色
不想要那种鼠标移动到超连接上带有背景的,给去掉了,只有下划线

3:修改文章标题下的作者信息,去除了日期格式的显示
本来左边都有了,再加上有点累赘,模仿WP上的样式,把字体稍微大了点,又自己加了个strong效果

3:修改评论提交表单的背景颜色和边框颜色
.......这个我也不知道为什么想修改.- -#

4:Tags字体大小改变了下
以前的貌似有点太小了,稍微改大了点,用了12PX,自己看着蛮喜欢,小了看的眼疼

木了吧,就这么多,HOHO,算不上修改,只能说按照自己喜欢的样子小改了下样式而已,嘿嘿。

还是感谢Hoofei以及imtx,HOHO,这次谁再敢说blog不好看,哼哼……

睡觉睡觉勒,嘴巴下面的豆豆好疼啊,[emot]cry[/emot]

SWING下设置快捷键以及加速键的方法

作者:胡志刚 发布时间:March 28, 2007 分类:所谓技术

郁闷,下午竟然用了对键盘的监听来实现的,
方法如下:
1:监听当键盘按下一个键时,然后捕获这个键是什么,如果是要求的值,返回一个true
2:监听当前键盘是否弹起,如果要求的键被弹起了,返回一个false
3:结合两个的返回值搞定..

结果晚上的时间发现,好像一下午忙活的人家早都忙活好勒.- -#

openItem.setText("打开(O)");
    openItem.setMnemonic('O');
    openItem.setAccelerator(KeyStroke.getKeyStroke("ctrl p"));
    menu.add(openItem);

用setMnemonic和setAccelerator两个方法就搞定勒.
郁闷,不过还好,忙活的还是有价值的,
至少在聊天室中能用到,ctrl+enter键然后发出消息,呵呵.

SystemTray和TrayIcon的使用及例子演示

作者:胡志刚 发布时间:March 28, 2007 分类:所谓技术

SystemTray和TaryIcon是在JDK1.6上面才有的,
以前的版本没有,以下代码的运行环境为JDK1.6,效果是在系统的右下角状态栏里面蹦出来一个小图标,
像WIN的网络连接和音量那个地方的小图标一样.:)
中间使用到的PopupMenu为AWT下的,不是SWING下的

代码如下:

阅读剩余部分...

刷迅雷积分排名--迅雷刷积分排名的一个批量任务方法

作者:胡志刚 发布时间:March 28, 2007 分类:所谓技术

说明:
其实方法很简单,无非就是每天批量下载50个小文件就可以了,没什么技术含量的,为了方便而已.


方法:

打开迅雷程序,然后选择迅雷菜单栏(左上角那里)的 文件-->新建批量任务

在弹出的对话框的URL那里填上:

http://www.hmilyld.cn/xunlei/xunlei ((*)).jpg

下面一行改为:从 110, 通配符长改为:1
OK,下面点击确定

图片如下:

然后你就随便选择一个目录保存就可以了,下载完后删除掉,然后找到迅雷垃圾箱,也都删除掉,记得选择删除同时删除文件,然后就OK勒。

每天就这么重复着批量下载一次看看,呵呵,是不是名次涨的比较快了.:)



关于有的朋友说,这种方法没用,我在这里说明一下:
1:这种方法并不是利用迅雷的漏洞来刷等级,而是一下批量下载好多东西,这样来增加积分的。看一下官方说明
注册用户(雷友)在线 1 小时得 2 分,下载一个文件得 5 分;
■注册用户(雷友)在线时长得分每天封顶 20 分,下载文件得分每天封顶 50 分;

下载一个文件5分,每天封顶50分,这样,一次10个文件就可以勒,一天的任务就完成了,
还有就是,他们并没有规定文件大小为多大,我们随便下载一个几K的页算一个文件的,所以这点不用担心。
一天50分,呵呵,你把雷友退出,然后重新登录下看看,名词有没有变化?
当然,在排名比较靠后的时候,这种方法非常有用的。当然,靠前也有靠前的好处,试一下就知道了,只要能每天批量下那么一次,然后在线时长再多一些的话,仔细观察下吧,有用没用自己瞅瞅。:)

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5