river_hiter

          2006年11月8日 #

          留意XML中的轉(zhuǎn)義字符

          今天做 畢業(yè)設(shè)計(jì),想用XML來(lái)存數(shù)據(jù),結(jié)果生成的XML文件用dom來(lái)解析時(shí)總是抱錯(cuò),仔細(xì)查找,發(fā)現(xiàn)原來(lái)是XML中的特殊(轉(zhuǎn)義字符)字符造成的。
          在XML語(yǔ)言中,用實(shí)體對(duì)特殊字符進(jìn)行轉(zhuǎn)義,需要轉(zhuǎn)義的字符有"<" 、 ">"、  "&"、 "'"、  """。
          具體的轉(zhuǎn)換關(guān)系如下:

          &lt; < 小于號(hào)
          &gt; > 大于號(hào)
          &amp; &
          &apos; ' 單引號(hào)
          &quot; " 雙引號(hào)

          posted @ 2008-05-25 13:58 何晏成 閱讀(721) | 評(píng)論 (3)編輯 收藏

          重新回到了根據(jù)地

                  前段時(shí)間由于考研這事那事的,很久沒(méi)有到這里來(lái)了,現(xiàn)在所有事情都已塵埃落定,終于回到了我久違的根據(jù)地……
                  紀(jì)念一下   ^_^

          posted @ 2008-04-23 10:51 何晏成 閱讀(151) | 評(píng)論 (0)編輯 收藏

          SWT學(xué)習(xí)筆記之二

          至從寫(xiě)了swt學(xué)習(xí)筆記(一)之后,好久都沒(méi)有再寫(xiě)blog了,可謂這個(gè)之(二)是姍姍來(lái)遲啊
          ^_^,以后會(huì)盡快地把后面的內(nèi)容都補(bǔ)上 。這主要寫(xiě)下一些簡(jiǎn)單的控件……

          Label:label是不能被用戶所修改的
                 label的用法:
                 Label label1 = new Label(shell, styles);
                 其中styles可以為BORDER, CENTER, LEFT, RIGHT, WRAP 和 SEPARATOR
                 其中SWT.SEPARATOR 為一條線 當(dāng)styles為SEPARATOR時(shí),可以加入 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.等
                 如果想設(shè)置為密碼輸入框,則加上方法text2.setEchoChar('*');即可
          Button:一般用法為Button button1 = new Button(shell,styles);
                 其中styles可以為 PUSH, CHECK, RADIO, TOGGLE and ARROW
                 注意setBounds(橫坐標(biāo),縱坐標(biāo),長(zhǎng)度,寬度)可以代替setLocation(0,0);setSize(100,20);兩個(gè)方法
                 button最基本的事件句柄是selection event handler,當(dāng)用戶點(diǎn)擊按鈕被選中時(shí),調(diào)用這個(gè)selection event handler,為了創(chuàng)建一個(gè)selection event handler.
                       要?jiǎng)?chuàng)建一個(gè)監(jiān)聽(tīng)器listener,一般采用下面的代碼:
                       button1.addSelectionListener(new SelectionAdapter() {
                    public void widgetSelected(SelectionEvent e) {
                    System.out.println("Button1 was clicked");
                    }
                 });
          List:  List包含了一些項(xiàng)目的集合,一般用法為: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");這兩個(gè)方法來(lái)向List中加入數(shù)據(jù)
                  在List中可以用MouseListener來(lái)響應(yīng)項(xiàng)目被點(diǎn)擊所引發(fā)的事件,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:它既是一個(gè)組件,也是一個(gè)容器,也即是說(shuō),在它里面還可以放置其他組件
          Group:   group是composite的一個(gè)子類(lèi),他最主要的目的是和其他組件分隔開(kāi),group也是一個(gè)容器,也是一個(gè)組件,放在它里面的組件的位置全都是相對(duì)位置

          posted @ 2007-06-14 14:46 何晏成 閱讀(404) | 評(píng)論 (1)編輯 收藏

          split用法值得注意的地方

          今天用split,呵呵,發(fā)現(xiàn)了一個(gè)有趣的問(wèn)題。
          程序調(diào)了半天,最后把問(wèn)題鎖定在了split上,于是就寫(xiě)了一個(gè)測(cè)試程序
          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

          以前一直以為應(yīng)該是
          0=aa
          1=cc
          雖然沒(méi)看見(jiàn)split實(shí)現(xiàn)的源碼,以前的確是錯(cuò)了,呵呵
          以后也應(yīng)該多留意一下這些小問(wèn)題。

          posted @ 2007-05-26 21:43 何晏成 閱讀(285) | 評(píng)論 (0)編輯 收藏

          關(guān)于Eclipse插件

          ????????最近初識(shí)eclipse,發(fā)現(xiàn)確實(shí)是很成功的一個(gè)開(kāi)發(fā)java的IDE,其最大的成功之處就是其插件功能,形形色色的插件,可以隨心所欲的配置我們的eclipse。

          ??????? 插件之于eclipse是如此的重要,因此搞清楚插件的安裝方法也是很有必要的,最近在網(wǎng)上搜到一些,也結(jié)合自己的經(jīng)驗(yàn),總結(jié)在此:
          ??????? 插件有四種安裝方法(據(jù)我所知):

          1. “幫助”->“軟件更新”->“查找并安裝”->“搜索要安裝的新功能部件”->“新建遠(yuǎn)程站點(diǎn)”(此種方式用于在線更新)
          2. “幫助”->“軟件更新”->“查找并安裝”->“搜索要安裝的新功能部件”->“新建本地站點(diǎn)”(如果插件已經(jīng)下載到了本地,請(qǐng)不要用第一種方法)
          3. 直接拷貝plugins和features兩個(gè)目錄下的內(nèi)容置于$Eclipse_Home$/對(duì)應(yīng)的plugins和features下面
          4. 用link外鏈接與外部插件關(guān)聯(lián)。將所有的插件用一個(gè)外部目錄存放起來(lái),假如是D:\plug-in,將上面所示的插件目錄文件全部拷貝到該目錄下,比如Tomcat插件,此時(shí)的文件路徑就是D:\plug-in\tomcat_plug\eclipse\plugins\com.sysdeo.eclipse.tomcat_3.1.0.beta(請(qǐng)注意,方法四一定要嚴(yán)格這樣的目錄路徑放置文件)。然后在$Eclipse_Home$下新建一個(gè)links目錄,并在links目錄下建立關(guān)聯(lián)文件,假如是tomcat.link,在建立的關(guān)聯(lián)文件中加入如下語(yǔ)句:
          path=
          D:\\plug-in\\tomcat_plug
          也可以寫(xiě)成下面的形式
          path=D:/plug-in/tomcat_plug
          還可以寫(xiě)成相對(duì)路徑的形式
          ?剩下的事情,不用我說(shuō)你肯定都知道了,就是重啟Eclipse,在Dos窗口下進(jìn)入Eclipse安裝目錄,鍵入命令eclipse -clean,回車(chē),或者進(jìn)入$Eclipse_Home$/configuration目錄,刪除org.eclipse.update后再重新啟動(dòng)Eclipse。

          如果說(shuō)在安裝插件時(shí),eclipse在啟動(dòng)時(shí)未裝在插件,解決辦法有以下幾種:
          1.刪除整個(gè)目錄/eclipse/configration/org.eclipse.update/
          2.在啟動(dòng)eclipse時(shí)加上" -clean"
          3.在/configration/config.ini文件中加上一行osgi.checkConfiguration = true,這樣,啟動(dòng)時(shí)eclipse就會(huì)自動(dòng)尋找安裝插件,找到以后,下次再啟動(dòng)之前將那一行刪除即可。

          posted @ 2007-03-07 22:14 何晏成 閱讀(349) | 評(píng)論 (1)編輯 收藏

          Resource


          由于最近經(jīng)常用到ASCII碼表和鍵盤(pán)掃描碼表,所以就把它貼上來(lái),用的時(shí)候發(fā)方便一些。也希望能大家提供一點(diǎn)點(diǎn)方便 ^ ^

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

          數(shù)字鍵
          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 
           小鍵盤(pán)
          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 何晏成 閱讀(204) | 評(píng)論 (0)編輯 收藏

          疑問(wèn)重重???

          ???????? 最近要封裝一個(gè)C++生成的DLL文件,在網(wǎng)上搜到一些方法但是那些方法一般都是先生成 .c的頭文件,然后再去改C++中的源代碼,可是現(xiàn)在人家就給我一個(gè)DLL文件,我該怎么辦呢?請(qǐng)各位高人指點(diǎn),在此不勝感激!!!

          posted @ 2006-11-10 22:49 何晏成 閱讀(124) | 評(píng)論 (0)編輯 收藏

          初次感受SWT

          ?????? 由于無(wú)法忍受AWT或SWING的怪異界面和蝸牛般的速度,最近起了學(xué)習(xí)SWT的沖動(dòng)。SWT(Standard? Widget? Toolkit)是由IBM推出的基于JAVA的圖形界面開(kāi)發(fā)庫(kù),之所以要說(shuō)他是“基于JAVA的”的是因?yàn)樵诔绦蛟帉?xiě)代碼時(shí)使用的JAVA語(yǔ)言,然而事實(shí)上,swt的底層代碼是由C語(yǔ)言來(lái)實(shí)現(xiàn)的,這點(diǎn)可以從Swt為什么要發(fā)布基于windows,linux……的操作系統(tǒng)的不同的包體現(xiàn)出來(lái)。swt比起awt和swing來(lái)說(shuō),不可同日而語(yǔ),并且swt具有很好的穩(wěn)定性,他最大化了操作系統(tǒng)的圖形構(gòu)件API,只要操作系統(tǒng)提供了相應(yīng)的圖形構(gòu)件,swt會(huì)用JNI技術(shù)去調(diào)用他們,只有在那些操作系統(tǒng)中不存在的圖形構(gòu)件,swt才回去實(shí)現(xiàn)他們。
          ??? public class FirstSwt{
           public static void main(String [] args) {
            Display display = new Display();
            Shell shell = new Shell(display);
            shell.open();
            // 開(kāi)始事件處理循環(huán),直到用戶關(guān)閉窗口
            while (!shell.isDisposed()) {
             if (!display.readAndDispatch())
              display.sleep();
            }
            display.dispose();
           }
          }
          這是一個(gè)swt最基礎(chǔ)的程序,也是一個(gè)很基礎(chǔ)的模式,程序中首先定義了用Display display = new Display();定義了一個(gè)容器(component),然后用Shell shell = new Shell(display);定義了一個(gè)窗口(window),display是一個(gè)最大的容器,在此容器上可以放置很多shell,類(lèi)似于awt的思想,每個(gè)組件自然就應(yīng)該放置在shell中了。接下來(lái)的shell.open()將該shell打開(kāi),只有將shell打開(kāi)之后,基于此shell上的組件才能被顯示出來(lái)。接下來(lái)的語(yǔ)句就是一個(gè)處理這個(gè)shell中事件的語(yǔ)句,在shell沒(méi)有被關(guān)閉前(shell.isDisposed()),系統(tǒng)會(huì)將所有的事件從事件隊(duì)列中取出,然后一個(gè)一個(gè)處理,如果沒(méi)有事件發(fā)生,則該display就處于sleep狀態(tài),等待事件發(fā)生后將其喚醒。當(dāng)shell關(guān)閉后,程序也就退出了。

          posted @ 2006-11-08 21:36 何晏成 閱讀(2255) | 評(píng)論 (23)編輯 收藏

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 社会| 光山县| 石棉县| 嘉善县| 沧州市| 平遥县| 镇雄县| 长兴县| 施秉县| 台安县| 毕节市| 南投市| 镇赉县| 淳安县| 进贤县| 安龙县| 汉寿县| 九台市| 东平县| 盐边县| 昭通市| 江永县| 昭觉县| 景德镇市| 平乐县| 奉新县| 新营市| 荣昌县| 建昌县| 抚松县| 叙永县| 云和县| 沐川县| 淮北市| 秦安县| 乌兰浩特市| 乌拉特前旗| 公主岭市| 铜梁县| 沾益县| 无为县|