river_hiter

2006年11月8日 #

留意XML中的转义字符

今天做 毕业设计,想用XML来存数据,结果生成的XML文件用dom来解析时总是抱错,仔细查找,发现原来是XML中的特殊(转义字符)字符造成的。
在XML语言中,用实体对特殊字符进行转义,需要转义的字符有"<" 、 ">"、  "&"、 "'"、  """。
具体的转换关系如下:

&lt; < 小于号
&gt; > 大于号
&amp; &
&apos; ' 单引号
&quot; " 双引号

posted @ 2008-05-25 13:58 何晏成 阅读(702) | 评论 (3)编辑 收藏

重新回到了根据地

        前段时间由于考研这事那事的,很久没有到这里来了,现在所有事情都已尘埃落定,终于回到了我久违的根据地……
        纪念一下   ^_^

posted @ 2008-04-23 10:51 何晏成 阅读(139) | 评论 (0)编辑 收藏

SWT学习笔记之二

至从写了swt学习笔记(一)之后,好久都没有再写blog了,可谓这个之(二)是姗姗来迟啊
^_^,以后会尽快地把后面的内容都补上 。这主要写下一些简单的控件……

Label:label是不能被用户所修改的
       label的用法:
       Label label1 = new Label(shell, styles);
       其中styles可以为BORDER, CENTER, LEFT, RIGHT, WRAP 和 SEPARATOR
       其中SWT.SEPARATOR 为一条线 当styles为SEPARATOR时,可以加入 HORIZONTAL(水平的),VERTICAL, SHADOW_IN, SHADOW_OUT and SHADOW_NONE.属性
Text:  一般用法 Text text1 = new Text(shell, styles);
       其中styles的属性值可以为BORDER, H_SCROLL, V_SCROLL, MULTI,SINGLE, READ_ONLY and WRAP.等
       如果想设置为密码输入框,则加上方法text2.setEchoChar('*');即可
Button:一般用法为Button button1 = new Button(shell,styles);
       其中styles可以为 PUSH, CHECK, RADIO, TOGGLE and ARROW
       注意setBounds(横坐标,纵坐标,长度,宽度)可以代替setLocation(0,0);setSize(100,20);两个方法
       button最基本的事件句柄是selection event handler,当用户点击按钮被选中时,调用这个selection event handler,为了创建一个selection event handler.
             要创建一个监听器listener,一般采用下面的代码:
             button1.addSelectionListener(new SelectionAdapter() {
          public void widgetSelected(SelectionEvent e) {
          System.out.println("Button1 was clicked");
          }
       });
List:  List包含了一些项目的集合,一般用法为:List list1 = new List(shell, styles);  
        其中styles可以为:BORDER, H_SCROLL, V_SCROLL,SINGLE and MULTI     
        可以用list1.setItems(new String[] {"Strawberry","Banana","Apple"});list1.add("Pickle");这两个方法来向List中加入数据
        在List中可以用MouseListener来响应项目被点击所引发的事件,MouseListener包括MouseDown and MouseUp events
        一般的代码为模式为:
        list2.addMouseListener(new MouseAdapter() {
       public void mouseDown(MouseEvent e) {
       System.out.println(list2.getSelection()[0] +" wins");
       }
       public void mouseUp(MouseEvent e) {
       System.out.println("Try again!");
       }
     });
composite:它既是一个组件,也是一个容器,也即是说,在它里面还可以放置其他组件
Group:   group是composite的一个子类,他最主要的目的是和其他组件分隔开,group也是一个容器,也是一个组件,放在它里面的组件的位置全都是相对位置

posted @ 2007-06-14 14:46 何晏成 阅读(382) | 评论 (1)编辑 收藏

split用法值得注意的地方

今天用split,呵呵,发现了一个有趣的问题。
程序调了半天,最后把问题锁定在了split上,于是就写了一个测试程序
public class test {
       public static void main(String []args){
        String str = "aabbbcc";
        String temp[] = str.split("b");
        for(int i=0;i<temp.length;i++){
         System.out.println(i+"="+temp[i]);
        }
       }
}
以上代码的输出居然是:
0=aa
1=
2=
3=cc

以前一直以为应该是
0=aa
1=cc
虽然没看见split实现的源码,以前的确是错了,呵呵
以后也应该多留意一下这些小问题。

posted @ 2007-05-26 21:43 何晏成 阅读(273) | 评论 (0)编辑 收藏

关于Eclipse插件

        最近初识eclipse,发现确实是很成功的一个开发java的IDE,其最大的成功之处就是其插件功能,形形色色的插件,可以随心所欲的配置我们的eclipse。

        插件之于eclipse是如此的重要,因此搞清楚插件的安装方法也是很有必要的,最近在网上搜到一些,也结合自己的经验,总结在此:
        插件有四种安装方法(据我所知):

1. “帮助”->“软件更新”->“查找并安装”->“搜索要安装的新功能部件”->“新建远程站点”(此种方式用于在线更新)
2. “帮助”->“软件更新”->“查找并安装”->“搜索要安装的新功能部件”->“新建本地站点”(如果插件已经下载到了本地,请不要用第一种方法)
3. 直接拷贝plugins和features两个目录下的内容置于$Eclipse_Home$/对应的plugins和features下面
4. 用link外链接与外部插件关联。将所有的插件用一个外部目录存放起来,假如是D:\plug-in,将上面所示的插件目录文件全部拷贝到该目录下,比如Tomcat插件,此时的文件路径就是D:\plug-in\tomcat_plug\eclipse\plugins\com.sysdeo.eclipse.tomcat_3.1.0.beta(请注意,方法四一定要严格这样的目录路径放置文件)。然后在$Eclipse_Home$下新建一个links目录,并在links目录下建立关联文件,假如是tomcat.link,在建立的关联文件中加入如下语句:
path=
D:\\plug-in\\tomcat_plug
也可以写成下面的形式
path=D:/plug-in/tomcat_plug
还可以写成相对路径的形式
 剩下的事情,不用我说你肯定都知道了,就是重启Eclipse,在Dos窗口下进入Eclipse安装目录,键入命令eclipse -clean,回车,或者进入$Eclipse_Home$/configuration目录,删除org.eclipse.update后再重新启动Eclipse。

如果说在安装插件时,eclipse在启动时未装在插件,解决办法有以下几种:
1.删除整个目录/eclipse/configration/org.eclipse.update/
2.在启动eclipse时加上" -clean"
3.在/configration/config.ini文件中加上一行osgi.checkConfiguration = true,这样,启动时eclipse就会自动寻找安装插件,找到以后,下次再启动之前将那一行删除即可。

posted @ 2007-03-07 22:14 何晏成 阅读(335) | 评论 (1)编辑 收藏

Resource


由于最近经常用到ASCII码表和键盘扫描码表,所以就把它贴上来,用的时候发方便一些。也希望能大家提供一点点方便 ^ ^

功能键      
F1 112          F2 113         F3 114          F4 115          F5 116          F6 117          F7 118          
F8 119          F9 120          F10 121          F11 122          F12 123

数字键
0 48          1 49          2 50          3 51          4 52          5 53
6 54          7 55          8 56          9 57
 
 
字母键
A 65          B 66          C 67          D 68          E 69          F 70          G 71          H 72          I 73
J 74           K 75          L 76          M 77          N 78         O 79         P 80          Q 81          R 82
S 83          T 84           U 85          V 86          W 87         X 88         Y 89         Z 90 
 小键盘
NUMLOCK 144          NUMPAD0 96          NUMPAD1 97          NUMPAD2 98          NUMPAD3 99
NUMPAD4  100          NUMPAD5 101         NUMPAD6 102        NUMPAD7 103       NUMPAD8 104
NUMPAD9 105           NUMPAD/ 111          NUMPAD* 106        NUMPAD- 109       NUMPAD+ 107
PAD. 110                     PADENTR 13

 
 
方向鍵
SCROLL 145          PRINT 44          INSERT 45          DELETE 46          HOME 36          END 35        
PGDOWN 34          PGUP 33
 
← 37
↑ 38
→ 39
↓ 40
 其他功能鍵
ESC 27
SPACE 32
SHIFT 16
CONTROL 32
ALT 18
CAPSLOCK 20
TAB 9
BACK 8
CTRLBREAK 17
RETURN 13
 
 
 

posted @ 2007-01-28 11:03 何晏成 阅读(192) | 评论 (0)编辑 收藏

疑问重重???

         最近要封装一个C++生成的DLL文件,在网上搜到一些方法但是那些方法一般都是先生成 .c的头文件,然后再去改C++中的源代码,可是现在人家就给我一个DLL文件,我该怎么办呢?请各位高人指点,在此不胜感激!!!

posted @ 2006-11-10 22:49 何晏成 阅读(119) | 评论 (0)编辑 收藏

初次感受SWT

       由于无法忍受AWT或SWING的怪异界面和蜗牛般的速度,最近起了学习SWT的冲动。SWT(Standard  Widget  Toolkit)是由IBM推出的基于JAVA的图形界面开发库,之所以要说他是“基于JAVA的”的是因为在程序元编写代码时使用的JAVA语言,然而事实上,swt的底层代码是由C语言来实现的,这点可以从Swt为什么要发布基于windows,linux……的操作系统的不同的包体现出来。swt比起awt和swing来说,不可同日而语,并且swt具有很好的稳定性,他最大化了操作系统的图形构件API,只要操作系统提供了相应的图形构件,swt会用JNI技术去调用他们,只有在那些操作系统中不存在的图形构件,swt才回去实现他们。
    public class FirstSwt{
 public static void main(String [] args) {
  Display display = new Display();
  Shell shell = new Shell(display);
  shell.open();
  // 开始事件处理循环,直到用户关闭窗口
  while (!shell.isDisposed()) {
   if (!display.readAndDispatch())
    display.sleep();
  }
  display.dispose();
 }
}
这是一个swt最基础的程序,也是一个很基础的模式,程序中首先定义了用Display display = new Display();定义了一个容器(component),然后用Shell shell = new Shell(display);定义了一个窗口(window),display是一个最大的容器,在此容器上可以放置很多shell,类似于awt的思想,每个组件自然就应该放置在shell中了。接下来的shell.open()将该shell打开,只有将shell打开之后,基于此shell上的组件才能被显示出来。接下来的语句就是一个处理这个shell中事件的语句,在shell没有被关闭前(shell.isDisposed()),系统会将所有的事件从事件队列中取出,然后一个一个处理,如果没有事件发生,则该display就处于sleep状态,等待事件发生后将其唤醒。当shell关闭后,程序也就退出了。

posted @ 2006-11-08 21:36 何晏成 阅读(2236) | 评论 (23)编辑 收藏

My Links

Blog Stats

常用链接

留言簿(1)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜