ZT文萃

          本博不原創(chuàng),轉(zhuǎn)帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
          posts - 93, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          CPU
          CPU好比一個人的大腦,CPU的運算能力就像平時心算,心算速度越快CPU的性能就越好。AMD目前不給力,3A平臺也只能在低端系列拼一拼,高端還是Intel的天下。
          Intel CPU推薦
          賽揚系列:G1610、G1620、G1820
          奔騰系列:G2020、G2030、G3220
          酷睿  I  5:3470、3570、3570K、4670K
          酷睿  I  7:3770、4770、3770K、4770K
          至強(qiáng)系列:E3-1230V2、E3-1230V3
          個人覺得Intel的奔騰和賽揚系列CPU足夠滿足平常辦公、上網(wǎng)、看電影、玩玩小游戲等日常需求了??犷O盗蠧PU足以應(yīng)付目前大多數(shù)3D網(wǎng)游和單機(jī)游戲,I3目前性價比低,有種低不成高不就的感覺。游戲機(jī)還是咬咬牙上I5,不會超頻就選I5-3470、I5-4570。想折騰的就選擇帶K的CPU,比如I5-3570K、I5-4670K。工作設(shè)計、高帥富土豪類直接上至強(qiáng)和I7系列不糾結(jié),在土豪面前毫無性價比可言,玩得爽才是王道。
          說明一下:CPU盒裝和散片的差別在于是否是正規(guī)的質(zhì)保,原盒是3年質(zhì)保,而散片(無散熱器,就一個CPU)大多是店鋪質(zhì)保一年。

          散熱
          個人認(rèn)為原裝的散熱基本上能夠滿足需求,當(dāng)然如果你買的是散片CPU不妨多花點錢,無論從散熱還是噪音方面都有不錯的提升。
          CPU散熱推薦
          九州風(fēng)神玄冰400、九州風(fēng)神霜塔、采融B81、利民HR-02M

          主板
          主板好比人體的骨架,能做多少活,能干多大事還需看主板。世界一線主板大廠已被華碩、技嘉、華擎三分天下,微星已被華碩的子公司華擎成功地小三上位。低端不會超頻的用H81/B85主板最佳,高端不差錢又想折騰的直接Z87不糾結(jié),至于具體到那個型號,看自己需求什么樣的功能即可。個人建議直接上華擎各系列,這種BIOS做得NB到爆,價格便宜量又足的屌絲之友去哪找!

          內(nèi)存
          內(nèi)存好比人體的神經(jīng),把腦和脊髓的興奮傳給各個器官,或把各個器官的興奮傳給腦和脊髓,相當(dāng)于說內(nèi)存越大對事件處理的速度越快。個人覺得4G勉強(qiáng)夠用,8G還算可以,12G以上看各人的需求。威剛、海盜船、金士頓、芝奇、宇瞻……品牌比較多就不一一推薦了,不超頻直接網(wǎng)上商城買金士頓。實體店千萬別買金士頓,現(xiàn)在的金士頓假條比以前NB多了,直接連原廠都難分辨,可以選宇瞻或者威剛的。

          顯卡
          顯卡好比人臉化妝,你可以選擇不化妝,也可以去做韓國美女。目前比較出名的顯卡廠商有技嘉、藍(lán)寶石、華碩、微星、迪蘭恒進(jìn)、HIS、映眾,游戲類顯卡競爭最激烈,而且價位又互相錯開,所以說A/N兩大顯卡芯片廠商簡直狡猾到爆。
          N卡低端買650,中低端買650TI,中端買660,中高端買760,高端買770。切記顯卡型號第二位數(shù)少于5(不包括5),比如210、430、640等等絕對是垃圾!
          A卡低端買7750,中端買7770或260X,中高端買R270X,高端買R280X。切記顯卡型號第三位數(shù)少于5(包括5),比如5450、6450等等絕對是垃圾,另外新系列顯卡R250性價比低也不建議購買。

          硬盤
          大水過后500G和1TB的差價很小了,最好直接上單碟1TB的。希捷西部數(shù)據(jù)都看臉,個人覺得希捷是慢慢死的,有時間給你轉(zhuǎn)移數(shù)據(jù);西部數(shù)據(jù)說掛就掛,根本沒給你挽救的時間。SSD本人沒用過,就不在這里吹牛逼了。

          機(jī)箱
          機(jī)箱好比人的衣服,除了外觀好看外還能保護(hù)重要部位。這里就不多說了,說多了都是淚,秀才說不過倔的兵,我直接推薦算了。
          酷冷至尊毀滅者經(jīng)典U3版、酷冷至尊開拓者U3普及版、恩杰H230、恩杰小幻影、恩杰H2、銀欣烏鴉、銀欣FT02

          電源
          電源好比人體的血液,血液不正常對人體整體的功能都有危害,一臺電腦最重要的是電源,電源功率小了,那么恭喜你,你可以提前給你的設(shè)備挖好坑買棺材了。目前市面上的電源都是貼牌貨,沒有好的電源牌子,只有好的電源型號。有條件盡量不要用電腦城4大坑爹之王:航嘉、長城、金河田、大水牛之流的電源,低端電源已被黑出翔,請自行劉東一下“紅星炸彈”,個人建議首選臺系或臺系代工的電源。
          安鈦克VP350P、安鈦克ECO400、安鈦克ECO520、安鈦克TPN550、安鈦克HCP1200,注意安鈦克VP450P是坑爹貨
          海韻S12II-330、海韻S12II-430、海韻S12II-520、海韻S12II-620
          在確定各硬件后,可以去各個官網(wǎng)查看硬件的參數(shù),然后把功耗加起來基本上就是要買電源功率的大小了,至于電源功率余量留多少看各人需求。

          顯示器
          有人喜歡屏幕大,有人喜歡16:10,眾口難調(diào)很難作推薦,反正認(rèn)定三年質(zhì)保的大品牌顯示器就沒錯。為了大家的視力,請不要選擇18.5、20、21.5這幾個尺寸的顯示器,可以劉東一下“顯示器分辨率”。需要注意的是顯示器尺寸越大標(biāo)準(zhǔn)的分辨率越高,對機(jī)器的配置的需求也越高。

          posted @ 2014-03-06 05:32 ZT文萃 閱讀(193) | 評論 (0)編輯 收藏

          http://laohuang.iteye.com/blog/55613

          1.拳頭之Get/Post
          拳頭是最基本的一重武器,也是最重要的,好比練武之人必須先扎穩(wěn)馬步。

          java 代碼
           
          1. HttpClient httpclient=new HttpClient();//創(chuàng)建一個客戶端,類似打開一個瀏覽器  
          2. GetMethod getMethod=new GetMethod("http://www.blablabla.com");//創(chuàng)建一個get方法,類似在瀏覽器地址欄中輸入一個地址  
          3. int statusCode=httpclient.executeMethod(getMethod);//回車——出拳!  
          4. System.out.println("response=" + getMethod.getResponseBodyAsString());//察看拳頭命中情況,可以獲得的東西還有很多,比如head, cookies等等  
          5. getMethod.releaseConnection();//釋放,記得收拳哦  


          2.孔雀翎之支持https

          如何支持https?
          java 代碼
           
          1. static{  
          2.     Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);  
          3.     Protocol.registerProtocol("https", easyhttps);  
          4. }  

          在執(zhí)行具體的http method之前,暗中將https協(xié)議注冊一把,如孔雀翎暗藏玄機(jī),斃敵于無形。記住,官方的binary發(fā)行版本沒有ssl的contribute包,方法一是下載源代碼版本來打造你的孔雀翎。

          3.多情環(huán)之cookies
          常道人老多情,其實是記憶太多,所以情之所至,正如cookies甜心,無論你走到那,總把你牽掛:
          java 代碼
           
          1. HttpClient httpclient=new HttpClient();  
          2. httpclient.getParams().setCookiePolicy(CookiePolicy.RFC_2109);//RFC_2109是支持較普遍的一個,還有其他cookie協(xié)議  
          3. HttpState initialState = new HttpState();  
          4. Cookie cookie=new Cookie();  
          5. cookie.setDomain("www.balblabla.com");  
          6. cookie.setPath("/");  
          7. cookie.setName("多情環(huán)");  
          8. cookie.setValue("多情即無情");  
          9. initialState.addCookie(cookie);  
          10. httpclient.setState(initialState);  
          11. ...  


          4.離別鉤之解構(gòu)cookies

          多情環(huán)的反面即離別鉤,鉤出,敵之身體某個部件即要與身體別離,端的是無情:
          java 代碼
           
          1. ...//執(zhí)行了某些get/post方法后  
          2. Cookie[] cookies = httpclient.getState().getCookies();  
          3. System.out.println("Present cookies: ");  
          4. for (int i = 0; i < cookies.length; i++) {//循環(huán)結(jié)構(gòu)零部件  
          5.     System.out.println(" - " + cookies[i].toExternalForm());  
          6.     System.out.println(" - domain=" + cookies[i].getDomain());  
          7.     System.out.println(" - path=" + cookies[i].getPath());  
          8.     ...            
          9. }  


          5.霸王搶之post參數(shù)
          槍,長兵器之王,諸多名將均使一桿或金或銀命名的名槍,比如岳飛。post方法在提交參數(shù)對時,猶如靈蛇出洞:
          java 代碼
           
          1. PostMethod postMethod = new PostMethod("http://www.saybot.com/postme");  
          2. NameValuePair[] postData = new NameValuePair[2];  
          3. postData[0] = new NameValuePair("武器", "槍");  
          4. postData[1] = new NameValuePair("什么槍", "神槍");  
          5. postMethod.addParameters(postData);  
          6. ...//出槍吧  


          6.七星碧玉刀之支持代理(proxy)

          代理,非常重要,尤其在局域網(wǎng)橫行的年頭,沒有代理,你在公司上不了QQ,沒有代理,google不了網(wǎng)頁快照,代理之威,可比七星碧玉刀,無刀,在局域網(wǎng)和開發(fā)當(dāng)中,一切白搭:
          java 代碼
           
          1. HttpClient httpclient=new HttpClient();  
          2. httpClient.getHostConfiguration().setProxy("192.168.0.1", 9527);  
          3. httpClient.getParams().setAuthenticationPreemptive(true);//重要!??!告訴httpclient,使用搶先認(rèn)證,否則你會收到“你沒有資格”的惡果  
          4. /* 
          5.   這一步也至關(guān)重要,MyProxyCredentialsProvider實現(xiàn)了org.apache.commons.httpclient.auth.CredentialsProvider接口, 
          6.   返回代理的credential(username/password)*/  
          7. httpClient.getParams().setParameter(CredentialsProvider.PROVIDER, new MyProxyCredentialsProvider());  
          8. httpClient.getState().setProxyCredentials(  
          9.     new AuthScope("192.168.0.1",  
          10.         AuthScope.ANY_PORT, //任意端口哦,可要小心  
          11.         AuthScope.ANY_REALM),//任意域哦,可要小心  
          12. new UsernamePasswordCredentials("username",//proxy的用戶名  
          13.                         "password"));//proxy的密碼  

          ...

          7.長生劍之天下第一
          看httpclient的官方文檔:jakarta.apache.org/commons/httpclient/userguide.html
          看Hilton網(wǎng)友寫的小葵花寶典筆記:www.cnjm.net/tech/article1155.html
          通讀后,你會有種拔劍四顧心茫然的高手感覺。

          七種武器,打完收工!

          posted @ 2014-02-26 18:10 ZT文萃 閱讀(291) | 評論 (0)編輯 收藏

          轉(zhuǎn)載自:
          http://wallimn.iteye.com/blog/540566

          最近忙于一個項目,了解下httpclient,在這里總結(jié)出來,和大家一起學(xué)習(xí)分享,希望各位朋友提出寶貴的意見。

          首先介紹一下項目的背景:
            目標(biāo):把國內(nèi)一家保險公司的“WEB一賬通”改成“WAP一賬通”。
            資源:客戶不提供任何的webservice接口。
           
          本項目中用到的第三方組件是apache的httpclient,一個非常強(qiáng)大的網(wǎng)頁抓取工具(抓這個字用得可能不太好), 這里和大家
          一起討論下httpclient的一些常用用法和要注意的地方。

          本文引用的資源列表:

            httpclient入門:  http://www.ibm.com/developerworks/cn/opensource/os-httpclient/
            httpclient證書導(dǎo)入:http://www.aygfsteel.com/happytian/archive/2006/12/22/89447.html
            httpclient高級認(rèn)識:http://laohuang.iteye.com/blog/55613
            httpclient官方文檔:http://hc.apache.org/httpcomponents-client/index.html
            httpclient資源關(guān)閉:http://www.iteye.com/topic/234759
           
           
          上面的文章寫得很好,看完之后也就知道怎么用httpclient這個很好的工具了,但是在這里還是補(bǔ)充一些比較重要的東西,也是項目中經(jīng)
          常碰到的問題。

          首先要注意的有以下幾點:
          1、httpclient連接后資源釋放問題很重要,就跟我們用database connection要釋放資源一樣。
          2、https網(wǎng)站采用ssl加密傳輸,證書導(dǎo)入要注意。
          3、做這樣的項目最好先了解下http協(xié)義,比如302,301,200,404返回代碼的含義(這是最基本的),cookie,session的機(jī)制。
          4、httpclient的redirect狀態(tài)默認(rèn)是自動的,這在很大程度上給開發(fā)者很大的方便(如一些授權(quán)獲得cookie),但是有時要手動管理下,比如
            有時會遇到CircularRedirectException異常,出現(xiàn)這樣的情況是因為返回的頭文件中l(wèi)ocation值指向之前重復(fù)(端口號可以不同)地址,導(dǎo)致可能會出現(xiàn)死
            循環(huán)遞歸重定向,這時可以手動關(guān)閉:method.setFollowRedirects(false)
          5、有的網(wǎng)站會先判別用戶的請求是否是來自瀏覽器,如不是,則返回不正確的文本,所以用httpclient抓取信息時在頭部加入如下信息:
            header.put("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; .NET CLR 1.1.4322; CIBA; .NET CLR 2.0.50727)");
          6、當(dāng)post請求提交數(shù)據(jù)時要改變默認(rèn)編碼,不然的話提交上去的數(shù)據(jù)會出現(xiàn)亂碼。重寫postMethod的setContentCharSet()方法就可以了:





           
          下面寫一個通用類來處理request請求返回的文本:
          Java代碼  收藏代碼
          1. /* 
          2.  * HttpRequestProxy.java 
          3.  * 
          4.  * Created on November 3, 2008, 9:53 AM 
          5.  */  
          6.   
          7. package cn.com.mozat.net;  
          8.   
          9. import java.io.BufferedReader;  
          10. import java.io.IOException;  
          11. import java.io.InputStream;  
          12. import java.io.InputStreamReader;  
          13. import java.util.HashMap;  
          14. import java.util.Iterator;  
          15. import java.util.Map;  
          16. import java.util.Set;  
          17.   
          18. import org.apache.commons.httpclient.Header;  
          19. import org.apache.commons.httpclient.HttpClient;  
          20. import org.apache.commons.httpclient.HttpException;  
          21. import org.apache.commons.httpclient.HttpMethod;  
          22. import org.apache.commons.httpclient.NameValuePair;  
          23. import org.apache.commons.httpclient.SimpleHttpConnectionManager;  
          24. import org.apache.commons.httpclient.methods.GetMethod;  
          25. import org.apache.commons.httpclient.methods.PostMethod;  
          26.   
          27. import cn.com.mozat.exception.CustomException;  
          28.   
          29. /** 
          30.  *  
          31.  * @author bird  email:lihongfu-84@163.com 
          32.  * 
          33.  * 2008-11-4  09:49:48 
          34.  */  
          35. public class HttpRequestProxy{  
          36.     //超時間隔  
          37.     private static int connectTimeOut = 60000;  
          38.  //讓connectionmanager管理httpclientconnection時是否關(guān)閉連接  
          39.     private static boolean alwaysClose = false;  
          40.  //返回數(shù)據(jù)編碼格式  
          41.     private String encoding = "UTF-8";  
          42.       
          43.     private final HttpClient client = new HttpClient(new SimpleHttpConnectionManager(alwaysClose));  
          44.    
          45.     public HttpClient getHttpClient(){  
          46.         return client;  
          47.     }  
          48.         
          49.     /** 
          50.      * 用法: 
          51.      * HttpRequestProxy hrp = new HttpRequestProxy(); 
          52.      * hrp.doRequest("http://www.163.com",null,null,"gbk"); 
          53.      *  
          54.      * @param url  請求的資源URL 
          55.      * @param postData  POST請求時form表單封裝的數(shù)據(jù) 沒有時傳null 
          56.      * @param header   request請求時附帶的頭信息(header) 沒有時傳null 
          57.      * @param encoding response返回的信息編碼格式 沒有時傳null 
          58.      * @return  response返回的文本數(shù)據(jù) 
          59.      * @throws CustomException  
          60.      */  
          61.     public String doRequest(String url,Map postData,Map header,String encoding) throws CustomException{  
          62.      String responseString = null;  
          63.      //頭部請求信息  
          64.      Header[] headers = null;  
          65.      if(header != null){  
          66.       Set entrySet = header.entrySet();  
          67.          int dataLength = entrySet.size();  
          68.           headers= new Header[dataLength];  
          69.          int i = 0;  
          70.          for(Iterator itor = entrySet.iterator();itor.hasNext();){  
          71.           Map.Entry entry = (Map.Entry)itor.next();  
          72.           headers[i++] = new Header(entry.getKey().toString(),entry.getValue().toString());  
          73.          }  
          74.      }  
          75.      //post方式  
          76.         if(postData!=null){  
          77.          PostMethod postRequest = new PostMethod(url.trim());  
          78.          if(headers != null){  
          79.           for(int i = 0;i < headers.length;i++){  
          80.            postRequest.setRequestHeader(headers[i]);  
          81.           }  
          82.          }  
          83.          Set entrySet = postData.entrySet();  
          84.          int dataLength = entrySet.size();  
          85.          NameValuePair[] params = new NameValuePair[dataLength];  
          86.          int i = 0;  
          87.          for(Iterator itor = entrySet.iterator();itor.hasNext();){  
          88.           Map.Entry entry = (Map.Entry)itor.next();  
          89.           params[i++] = new NameValuePair(entry.getKey().toString(),entry.getValue().toString());  
          90.          }  
          91.          postRequest.setRequestBody(params);  
          92.          try {  
          93.     responseString = this.executeMethod(postRequest,encoding);  
          94.    } catch (CustomException e) {  
          95.     throw e;  
          96.    } finally{  
          97.     postRequest.releaseConnection();  
          98.    }  
          99.         }  
          100.       //get方式  
          101.         if(postData == null){  
          102.          GetMethod getRequest = new GetMethod(url.trim());  
          103.          if(headers != null){  
          104.           for(int i = 0;i < headers.length;i++){  
          105.            getRequest.setRequestHeader(headers[i]);  
          106.           }  
          107.          }  
          108.          try {  
          109.     responseString = this.executeMethod(getRequest,encoding);  
          110.    } catch (CustomException e) {  
          111.                 e.printStackTrace();  
          112.     throw e;  
          113.    }finally{  
          114.     getRequest.releaseConnection();  
          115.    }  
          116.         }  
          117.    
          118.         return responseString;  
          119.     }  
          120.   
          121.  private String executeMethod(HttpMethod request, String encoding) throws CustomException{  
          122.   String responseContent = null;  
          123.   InputStream responseStream = null;  
          124.   BufferedReader rd = null;  
          125.   try {  
          126.    this.getHttpClient().executeMethod(request);  
          127.    if(encoding != null){  
          128.     responseStream = request.getResponseBodyAsStream();  
          129.      rd = new BufferedReader(new InputStreamReader(responseStream,  
          130.                       encoding));  
          131.               String tempLine = rd.readLine();  
          132.               StringBuffer tempStr = new StringBuffer();  
          133.               String crlf=System.getProperty("line.separator");  
          134.               while (tempLine != null)  
          135.               {  
          136.                   tempStr.append(tempLine);  
          137.                   tempStr.append(crlf);  
          138.                   tempLine = rd.readLine();  
          139.               }  
          140.               responseContent = tempStr.toString();  
          141.    }else  
          142.     responseContent = request.getResponseBodyAsString();  
          143.              
          144.    Header locationHeader = request.getResponseHeader("location");  
          145.    //返回代碼為302,301時,表示頁面己經(jīng)重定向,則重新請求location的url,這在  
          146.    //一些登錄授權(quán)取cookie時很重要  
          147.    if (locationHeader != null) {  
          148.              String redirectUrl = locationHeader.getValue();  
          149.              this.doRequest(redirectUrl, null, null,null);  
          150.          }  
          151.   } catch (HttpException e) {  
          152.    throw new CustomException(e.getMessage());  
          153.   } catch (IOException e) {  
          154.    throw new CustomException(e.getMessage());  
          155.   
          156.   } finally{  
          157.    if(rd != null)  
          158.     try {  
          159.      rd.close();  
          160.     } catch (IOException e) {  
          161.      throw new CustomException(e.getMessage());  
          162.     }  
          163.     if(responseStream != null)  
          164.      try {  
          165.       responseStream.close();  
          166.      } catch (IOException e) {  
          167.       throw new CustomException(e.getMessage());  
          168.   
          169.      }  
          170.   }  
          171.   return responseContent;  
          172.  }  
          173.    
          174.      
          175.  /** 
          176.   * 特殊請求數(shù)據(jù),這樣的請求往往會出現(xiàn)redirect本身而出現(xiàn)遞歸死循環(huán)重定向 
          177.   * 所以單獨寫成一個請求方法 
          178.   * 比如現(xiàn)在請求的url為:http://localhost:8080/demo/index.jsp 
          179.   * 返回代碼為302 頭部信息中l(wèi)ocation值為:http://localhost:8083/demo/index.jsp 
          180.   * 這時httpclient認(rèn)為進(jìn)入遞歸死循環(huán)重定向,拋出CircularRedirectException異常 
          181.   * @param url 
          182.   * @return 
          183.   * @throws CustomException  
          184.   */  
          185.  public String doSpecialRequest(String url,int count,String encoding) throws CustomException{  
          186.   String str = null;  
          187.   InputStream responseStream = null;  
          188.   BufferedReader rd = null;  
          189.   GetMethod getRequest = new GetMethod(url);  
          190.   //關(guān)閉httpclient自動重定向動能  
          191.   getRequest.setFollowRedirects(false);  
          192.   try {  
          193.      
          194.    this.client.executeMethod(getRequest);  
          195.    Header header = getRequest.getResponseHeader("location");  
          196.    if(header!= null){  
          197.     //請求重定向后的URL,count同時加1  
          198.     this.doSpecialRequest(header.getValue(),count+1, encoding);  
          199.    }  
          200.    //這里用count作為標(biāo)志位,當(dāng)count為0時才返回請求的URL文本,  
          201.    //這樣就可以忽略所有的遞歸重定向時返回文本流操作,提高性能  
          202.    if(count == 0){  
          203.     getRequest = new GetMethod(url);  
          204.     getRequest.setFollowRedirects(false);  
          205.     this.client.executeMethod(getRequest);  
          206.     responseStream = getRequest.getResponseBodyAsStream();  
          207.     rd = new BufferedReader(new InputStreamReader(responseStream,  
          208.                       encoding));  
          209.              String tempLine = rd.readLine();  
          210.              StringBuffer tempStr = new StringBuffer();  
          211.              String crlf=System.getProperty("line.separator");  
          212.              while (tempLine != null)  
          213.              {  
          214.                  tempStr.append(tempLine);  
          215.                  tempStr.append(crlf);  
          216.                  tempLine = rd.readLine();  
          217.              }  
          218.              str = tempStr.toString();  
          219.    }  
          220.      
          221.   } catch (HttpException e) {  
          222.    throw new CustomException(e.getMessage());  
          223.   } catch (IOException e) {  
          224.    throw new CustomException(e.getMessage());  
          225.   } finally{  
          226.    getRequest.releaseConnection();  
          227.    if(rd !=null)  
          228.     try {  
          229.      rd.close();  
          230.     } catch (IOException e) {  
          231.      throw new CustomException(e.getMessage());  
          232.     }  
          233.     if(responseStream !=null)  
          234.      try {  
          235.       responseStream.close();  
          236.      } catch (IOException e) {  
          237.       throw new CustomException(e.getMessage());  
          238.      }  
          239.   }  
          240.   return str;  
          241.  }  
          242.    
          243.    
          244.    
          245.    
          246.  public static void main(String[] args) throws Exception{  
          247.   HttpRequestProxy hrp = new HttpRequestProxy();  
          248.    Map header = new HashMap();  
          249.          header.put("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; .NET CLR 1.1.4322; CIBA; .NET CLR 2.0.50727)");  
          250.   String str = hrp.doRequest(  
          251.     "http://www.cma-cgm.com/en/eBusiness/Tracking/Default.aspx?BolNumber=GZ2108827",  
          252.      null, header,null);  
          253.   System.out.println(str.contains("row_CRXU1587647"));  
          254. //  System.out.println(str);  
          255.  }  
          256.      

          posted @ 2014-02-26 18:08 ZT文萃 閱讀(362) | 評論 (0)編輯 收藏

          轉(zhuǎn)載自:
          http://www.cnblogs.com/happyPawpaw/archive/2013/03/27/2984023.html

          現(xiàn)提供兩種方法: 
          方法一: 
          如果你用過Toolkit(java.awt.Toolkit)類,這將是一件很簡單的事情: 
          Toolkit tk=Toolkit.getDefaultToolkit() 
          Image image=tk.createImage("image.gif"); /*image.gif是你的圖標(biāo)*/ 
          this.setIconImage(image); 

          注意:這個圖標(biāo)一定要是好用的圖標(biāo)。

          就這么簡單,看看,已經(jīng)變成你自己的圖標(biāo)了。Toolkit是個很有用類的,提供很多對窗口默認(rèn)行為的修改,下面隨便提一下,怎么把默認(rèn)的鼠標(biāo)圖標(biāo)改成你自己的圖標(biāo): 
          Toolkit tk=Toolkit.getDefaultToolkit(); 
          Image img=tk.getImage("mouse.gif"); /*mouse.gif是你的圖標(biāo)*/ 
          Cursor cu=tk.createCustomCursor(img,new Point(10,10),"stick"); 
          this.setCursor(cu); 

          方法二: 
          用到ImageIcon類和setIconImage方法。 
          import javax.swing.*; 
          public class A extends JFrame { 
              String image = new String("face.gif"); //建立一個字符串保存要用的圖標(biāo)的路徑,關(guān)于java的路徑請參考其它文檔 
              ImageIcon test = new ImageIcon(image); //建立一個ImageIcon類,產(chǎn)生setIconImage()方法需要的Image數(shù)據(jù) 

              public A() { 
                  super("演示自定義標(biāo)題欄的圖標(biāo)的方法"); 
                  this.setIconImage(test.getImage()); //設(shè)置標(biāo)題欄的圖標(biāo)為face.gif 
                  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
                  this.show(); 
                  //this.setTitle("sdfsdf"); 
                  this.setSize(400,200); 
              } 
              public static void main(String[] args) { 
                  A jIcon = new A();       
              } 


          此法本人再次簡化為兩條語句: 
          import javax.swing.*; 
          public class A extends JFrame { 
              ImageIcon test = new ImageIcon(new String(face.gif));//第一句 
              public A() { 
                  super("演示自定義標(biāo)題欄的圖標(biāo)的方法"); 
                  this.setIconImage(test.getImage()); //第二句 
                   this.setSize(400,200); 
                  this.show(); 

              public static void main(String[] args) { 
                  A jIcon = new A();       
              } 
          }

          posted @ 2014-02-21 10:13 ZT文萃 閱讀(253) | 評論 (0)編輯 收藏

          轉(zhuǎn)載自:
          http://www.sbanzu.com/topicdisplay.asp?BoardID=8&Page=9&TopicID=4112790

          照片中的柴靜雖然身材明顯發(fā)福,但仍可見昔日“女神”風(fēng)采。據(jù)知情人透露,柴靜私下從不主動談及私生活,特別是在結(jié)婚消息曝光后,讓她對隱私更加保護(hù)。至于其老公趙嘉,如今在央視下屬一家公司擔(dān)任首席財政官,同時繼續(xù)從事攝影事業(yè)。


          被坊間傳聞為“央視最窮主持人”的柴靜被爆在去年10月赴美國產(chǎn)下一女,升級當(dāng)媽。此外,她為女兒取名叫柴知然,柴靜曾私下表示希望女兒不僅“知然”,且能“知其所以然”。



          不管公知還是五毛,都把后代往洋大人那里放。批評這個體制的,吹捧這個體制的,都選擇把娃兒生在美國。這才是真正的普世價值啊,無關(guān)身份,無關(guān)制度,無關(guān)膚色,無關(guān)民族,只有對孩子絕對的愛,以及與孩子有關(guān)的自由向往。

          @十年砍柴 :公知和五毛理應(yīng)都為柴靜在美國產(chǎn)女感到高興。所謂公知當(dāng)然賀其為孩子選擇了含金量高的國籍。而愛國的五毛,應(yīng)慶祝她的女兒將來沒有強(qiáng)大的中國庇護(hù),而且為自己的兒女騰出在中國的空間,替自己兒女省下社會撫養(yǎng)費。

          @劉桂娟: 我認(rèn)識的很多精英和條件優(yōu)越的人都選擇在美生孩子,將來孩子不用付出幾百萬的留學(xué)費用,18歲后有選票。我一移民澳洲的朋友,兩個孩子免費上學(xué),她經(jīng)?;貒锤改?,每到選舉時必回澳洲,驕傲的說:我去投票!我都沒見過咱們的選票長什么樣

          @沁水一波:柴靜在美國生孩子真是她個人的事,勿須責(zé)怪。讓人不舒服的是以前高調(diào)深愛中國的她用腳表明她的愛并不深。記得知青下放時叫的最響要扎根農(nóng)村的人往往是溜的最快的。不高調(diào)就不行嗎?此事讓人不適應(yīng)的是語言和行動的反差,而不是在美國生孩子這事。

          @木子老龍 :柴靜把孩子生在美國,司馬南把孩子送到美國,無論政見如何,在愛自己的孩子這一點上,方向是高度一致的。什么叫普世價值?這就是普世價值。

          @奮壹:在推特上看到一個神評:看到柴靜美國產(chǎn)女的新聞,不勝唏噓,不管是民主派還是自由派,最后都是美國派。好不容易有個深深的愛著這片土地的國師張藝謀把孩子生在國內(nèi),還被計生委罰得稀里嘩啦。

          @王鵬律師 :以前覺得她很高尚,媒體屆最具良心的代表之一,現(xiàn)發(fā)現(xiàn)她很務(wù)實,沒有拿女兒的未來做賭博。作為父母,從子女幸福的角度出發(fā)本身沒有什么錯,也不能指責(zé)她的選擇。該反思的問題是為什么這么多精英去國外生子,享有外國戶籍? 中國到底哪里有問題?

          奇葩國家啊,愛他和恨他的人都要做他敵人的爹媽。
          基本上,就算未來中國富裕民主發(fā)達(dá)了,那些特權(quán)移民同樣可以依靠特權(quán)設(shè)法回來。比如現(xiàn)在那些拿著美國綠卡乃至國籍卻可以賴在中國摟錢的特權(quán)分子就是如此(無論他們嘴巴里喊的是普世價值還是共產(chǎn)主義,被人稱作公知還是走狗,本質(zhì)上都是一樣的)。

          后悔的最多不過是那些普通移民罷了。也不用等將來,現(xiàn)在就有。

          中國盡出漢奸,這倒是沒跑的

          posted @ 2014-02-21 06:46 ZT文萃 閱讀(228) | 評論 (0)編輯 收藏

           

          http://wangguanxiong.baijia.baidu.com/article/4681

           

          創(chuàng)辦5年、50個人的小公司值160億美元!

          是FaceBook瘋了還是你不夠“瘋”?

          【巨頭狂野搏命移動端】

          今晨重磅消息,美國社交網(wǎng)絡(luò)老大Facebook收購WhatsApp,一個員工50人、其中32名是工程師的 小公司。為此,F(xiàn)acebook付出了總金額160億美元“現(xiàn)金+股票”的昂貴代價。此外,還承諾給創(chuàng)始人團(tuán)隊30億美元的四年行權(quán)限制股,加上期權(quán)交易 規(guī)模將達(dá)190億美元。

          WhatsApp是一個跨平臺通訊應(yīng)用,創(chuàng)辦于2009年。界面樸素簡潔,沒有任何花哨的功能,核心功能就是幫助用戶收發(fā)消息。簡單說,有點像簡化版的微信。

          目前其月活躍用戶達(dá)4.5億(其中70%每天登錄),每天新增用戶100萬,每天發(fā)送消息達(dá)到全球電信的短信數(shù)量,每天有10億張照片、2億條音頻消息、1億條視頻消息通過該軟件傳輸。

          因此,這對致力于“連結(jié)人與信息”的Facebook來說,是一個極大威脅。很簡單,要么戰(zhàn)勝你,要么買下你。這和臉譜2012年收購圖片分享應(yīng)用Instagram的邏輯一致,在社交網(wǎng)絡(luò)這個核心領(lǐng)域,臉譜絕不會允許他人染指。

          更重要的是,從WhatsApp、Instagram到最近風(fēng)靡美國年輕人的snapshot,都是為移動而生的應(yīng)用。實際上,移動互聯(lián)網(wǎng)的發(fā)展速度遠(yuǎn)遠(yuǎn)超過桌面互聯(lián)網(wǎng),巨頭們正瘋狂地買公司、買人,否則一不小心就會被干掉。

          【每個員工值20億】

          然而,在這筆轟動全球的交易中,真正讓我激動的是人的價值。

          即使不包含30億美元的期權(quán)價值,僅按立即支付的160億美金收購價計算,按最新匯率,WhatsApp一個員工值20億人民幣,20億!

          兩年前,當(dāng)FaceBook斥資10億美金收購只有13個人的Instgram時,他們該處的價格是一個人大約一億美金?,F(xiàn)在,價格翻了3倍。

          這對一直重視“看得見的資產(chǎn)”的中國人來說,幾乎是不可想象的。許多傳統(tǒng)老板會想,就這么幾個小屁孩敢要幾十億美金,瘋了?這種思維定勢有時很難扭轉(zhuǎn),看走眼的還包括現(xiàn)在如日中天的騰訊CEO馬化騰。

          當(dāng)年,Instagram估值還不到1億美金時騰訊曾有機(jī)會投資。當(dāng)時Instagram只有幾個人,在一個靠 近海邊的房子辦公。就是一層玻璃,外面都看得見,扔個磚頭就可以把里面的電腦全拿走了。騰訊某副總裁看著說,這個公司不太靠譜吧,才幾個人。后來,騰訊不 得不估值8億美金時跟投。

          這就是人的價值,只要擁有創(chuàng)新能力的人做出一個創(chuàng)新產(chǎn)品,他們足以撬動整個地球。

          【人是科技第一生產(chǎn)力】

          NOP男裝創(chuàng)始人劉爽認(rèn)為管理分為兩種:管人管事,選擇哪種不取決于領(lǐng)導(dǎo)者意志,而取決于企業(yè)行業(yè)類型。管事型 企業(yè)的代表是制造業(yè)和零售業(yè),比如富士康和沃爾瑪,人人都是螺絲釘,不需要你創(chuàng)新,需要的是你的執(zhí)行效率。而管人型企業(yè)的代表是高科技和互聯(lián)網(wǎng),比如微軟 和谷歌,其產(chǎn)品和服務(wù)的研發(fā)改良依賴于員工個人的創(chuàng)造力創(chuàng)新力。

          如果想做一個產(chǎn)品服務(wù)高度依托互聯(lián)網(wǎng)經(jīng)濟(jì)和體驗經(jīng)濟(jì)的軟硬件一體式品牌公司,那就應(yīng)該選擇管人和眾智。落到具體就是有邊界的制度,無邊界的溝通。

          當(dāng)年,鄧小平同志以無畏的政治勇氣和理論高度,說出了一句名言:“科技是第一生產(chǎn)力”。這句話,激勵了整整幾代中國人。它讓人們看到了科技的價值、知識的價值,也是現(xiàn)在長盛不衰的知識經(jīng)濟(jì)的動力。

          現(xiàn)在,我想說:人是科技的第一生產(chǎn)力。不重視人的價值,不尊重人的需求,不解放人的生產(chǎn)力,必將被互聯(lián)網(wǎng)時代快速淘汰。

          請捫心自問。

          (更多深度,掃描下方二維碼后看歷史文章)

          作者簡介:一個IPO專業(yè)戶、超級自媒體。我信仰互聯(lián)網(wǎng),因為它實現(xiàn)了人和一切的自由連接,這是3代人必經(jīng)的命運。微博@互聯(lián)網(wǎng)信徒王冠雄,微信wang-guanxiong。見人所之未見,每一條都對得起關(guān)注!

          posted @ 2014-02-21 06:12 ZT文萃 閱讀(206) | 評論 (0)編輯 收藏

          轉(zhuǎn)載自:
          http://blog.csdn.net/haoren_e/article/details/6043645


               在linux上部署項目的時候,我們往往通過一段shell來啟動程序,甚至是通過crontab定時任務(wù)來定時的調(diào)用java程序,但是很奇怪的一個問題就是,比如我寫了一個如下的shell腳本:

           

          1. #!/bin/sh  
          2. # -----------------------------------------------------------------------------  
          3. # Start script for the CMGP BOSSCONTROL   
          4. #  
          5. # $Id: run_bosscontrol.sh,v 1.0 2007/11/06 Exp $  
          6. # -----------------------------------------------------------------------------  
          7. #指定字符集  
          8. LANG=zh_CN.GBK export LANG  
          9. RUN_HOME=.  
          10. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/checking.jar  
          11. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/ojdbc14.jar  
          12. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/commons-dbutils-1.1.jar  
          13. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/log4j-1.2.14.jar  
          14. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/dom4j-1.6.jar  
          15.   
          16. export CLASSPATH  
          17.   
          18. java  com.**.checking.Checking_Start >> log.out &   
           

           

          手動命令行運行該腳本的時候,可以正常運行java程序,但是使用crontab定時任務(wù),貌似就不起效果了,很是郁悶?zāi)模樵蚰模治隹赡茉颍?/span>

           1)是否當(dāng)前用戶對此shell腳本沒有可執(zhí)行權(quán)限,通過ls -lrt /apps/service/mtk/checking/run.sh查看腳本是有可執(zhí)行,但是有執(zhí)行權(quán)限呀-rwxr-xr-x

           2)既然單獨運行腳本沒問題,那會不會是定時的問題呢?于是寫了一個簡單的輸出的shell腳本通過定時也是沒問題的。說明還是腳本的問題。

          后來上網(wǎng)查了下,想到可能是腳本中環(huán)境變量的原因,因為通過crontab運行腳本,是以root用戶,而不是當(dāng)前用戶,于是cat /etc/profile查看環(huán)境變量,然后修改腳本如下:

          1. #!/bin/sh  
          2. # -----------------------------------------------------------------------------  
          3. # Start script for the CMGP BOSSCONTROL   
          4. #  
          5. # $Id: run_bosscontrol.sh,v 1.0 2007/11/06 Exp $  
          6. # -----------------------------------------------------------------------------  
          7. export PATH=/apps/usr/java/jdk1.5/bin:$PATH  
          8. export JAVA_HOME=/apps/usr/java/jdk1.5  
          9. export JRE_HOME=/apps/usr/java/jdk1.5/jre  
          10. export CLASSPATH=/apps/usr/java/jdk1.5/lib:/apps/usr/java/jdk1.5/jre/lib:$CLASSPATH  
          11. RUN_HOME=/apps/service/checking  
          12. CLASSPATH=$CLASSPATH$RUN_HOME/lib/checking.jar  
          13. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/ojdbc14.jar  
          14. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/commons-dbutils-1.1.jar  
          15. CLASSPATH=$CLASSPATH:$RUN_HOME/lib/log4j-1.2.14.jar  
          16.  CLASSPATH=$CLASSPATH:$RUN_HOME/lib/dom4j-1.6.jar  
          17.   
          18. export CLASSPATH=$CLASSPATH  
          19.   
          20. java  com.**.checking.Checking_Start >> log.out &   

           

          export顯示導(dǎo)出為用戶環(huán)境變量的環(huán)境變量
          以上這種jar包是通過eclipse工具export導(dǎo)出,不包含MANIFEST.MF文件,如果使用打包工具Ant,我們可以在打包默認(rèn)的build.xml文件中設(shè)置Class-Path
          將第三方j(luò)ar包加入manifest.mf文件中,且指定程序主類
          在build.xml中添加如下內(nèi)容:

           

          1. <!-- create a property containing all .jar files, prefix lib/, and seperated with a space -->  
          2. <pathconvert property="libs.project" pathsep=" ">  
          3.    <mapper>  
          4.       <chainedmapper>  
          5.         <!-- remove absolute path -->  
          6.         <flattenmapper />  
          7.        <!-- add lib/ prefix -->  
          8.        <globmapper from="*" to="lib/*" />  
          9.       </chainedmapper>  
          10.     </mapper>  
          11.      <path>  
          12.       <!-- lib.home contains all jar files, in several subdirectories -->  
          13.       <fileset dir="${lib.dir}">  
          14.        <include name="**/*.jar" />  
          15.       </fileset>  
          16.      </path>  
          17.   </pathconvert>  

           

          另外,在create manifest文件時,加上:

          1. <!-- 這樣就可以將第三方j(luò)ar包加入 -->   
          2. <attribute name="Class-Path" value="${libs.project}" />  
          3. <!-- 程序運行的主類 -->  
          4. <attribute name="Main-Class" value="com.**.checking.Checking_Start " />  

           

          這樣運行ant,打成的jar包中MANIFEST.MF中內(nèi)容如下:

          1. Manifest-Version: 1.0  
          2. Ant-Version: Apache Ant 1.7.0  
          3. Created-By: 1.5.0_09-b01 (Sun Microsystems Inc.)  
          4. Implementation-Title: fee task  
          5. Implementation-Version: 1.0  
          6. Implementation-Vendor: Aspire  
          7. Main-Class: com.aspire.cmgp.flowcontrol.server.FlowControlServer  
          8. Class-Path: lib/cmgp-util-1.0.1.jar lib/commons-codec-1.3.jar lib/comm  
          9.  ons-collections.jar lib/commons-dbcp-1.2.1.jar lib/commons-httpclient  
          10.  .jar lib/commons-logging.jar lib/commons-pool-1.2.jar lib/dom4j.jar l  
          11.  ib/log4j.jar lib/ojdbc14.jar  

           

          這樣在shell腳本中就不需要指定程序所需要的jar包了,也就不存在環(huán)境變量設(shè)置的惱人問題。比較正規(guī)的也是這么操作的。
          這樣在shell中就直接運行jar包就行了:java -jar 主程序.jar -Xmx1024m -Xms1024m -Xmn512m,多好多方便~

          posted @ 2014-02-20 11:25 ZT文萃 閱讀(646) | 評論 (0)編輯 收藏

          http://blog.163.com/kevinlee_2010/blog/static/16982082020112710557998/

          第一種是以毫秒為單位計算的。

            Java代碼

            //偽代碼

            long startTime=System.currentTimeMillis();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.currentTimeMillis(); //獲取結(jié)束時間

            System.out.println("程序運行時間: "+(end-start)+"ms");

            //偽代碼

            long startTime=System.currentTimeMillis();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.currentTimeMillis(); //獲取結(jié)束時間

            System.out.println("程序運行時間: "+(end-start)+"ms");

            第二種是以納秒為單位計算的。

            Java代碼

            //偽代碼

            long startTime=System.nanoTime();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.nanoTime(); //獲取結(jié)束時間

            System.out.println("程序運行時間: "+(end-start)+"ns");

            //偽代碼

            long startTime=System.nanoTime();   //獲取開始時間

            doSomeThing();  //測試的代碼段

            long endTime=System.nanoTime(); //獲取結(jié)束時間

            System.out.println("程序運行時間: "+(end-start)+"ns");

          posted @ 2014-02-14 09:51 ZT文萃 閱讀(217) | 評論 (0)編輯 收藏

          http://china.gmail.cn/html/38/63638-41467.html


          javaz中對日期時間的處理比較多,代碼中列出了3中日期時間計算差值的方法。

          比如:現(xiàn)在是2004-03-26 13:31:40
          過去是:2004-01-02 11:30:24
          我現(xiàn)在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒

           

          java計算時間差及比較時間大小
          比如:現(xiàn)在是2004-03-26 13:31:40
          過去是:2004-01-02 11:30:24
          我現(xiàn)在要獲得兩個日期差,差的形式為:XX天XX小時XX分XX秒

          方法一:
          DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

          try
          {
          Date d1 = df.parse("2004-03-26 13:31:40");
          Date d2 = df.parse("2004-01-02 11:30:24");
          long diff = d1.getTime() - d2.getTime();
          long days = diff / (1000 * 60 * 60 * 24);
          }
          catch (Exception e)
          {
          }

          方法二: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date now = df.parse("2004-03-26 13:31:40");
          java.util.Date date=df.parse("2004-01-02 11:30:24");
          long l=now.getTime()-date.getTime();
          long day=l/(24*60*60*1000);
          long hour=(l/(60*60*1000)-day*24);
          long min=((l/(60*1000))-day*24*60-hour*60);
          long s=(l/1000-day*24*60*60-hour*60*60-min*60);
          System.out.println(""+day+"天"+hour+"小時"+min+"分"+s+"秒");

          方法三:
          SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
          java.util.Date end = dfs.parse("2004-03-26 13:31:40");
          long between=(end.getTime()-begin.getTime())/1000;//除以1000是為了轉(zhuǎn)換成秒

          long day1=between/(24*3600);
          long hour1=between%(24*3600)/3600;
          long minute1=between%3600/60;
          long second1=between%60/60;
          System.out.println(""+day1+"天"+hour1+"小時"+minute1+"分"+second1+"秒");


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

          java 比較時間大小

          String s1="2008-01-25 09:12:09";
          String s2="2008-01-29 09:12:11";
          java.text.DateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          java.util.Calendar c1=java.util.Calendar.getInstance();
          java.util.Calendar c2=java.util.Calendar.getInstance();
          try
          {
          c1.setTime(df.parse(s1));
          c2.setTime(df.parse(s2));
          }catch(java.text.ParseException e){
          System.err.println("格式不正確");
          }
          int result=c1.compareTo(c2);
          if(result==0)
          System.out.println("c1相等c2");
          else if(result<0)
          System.out.println("c1小于c2");
          else
          System.out.println("c1大于c2");

          posted @ 2014-02-14 09:49 ZT文萃 閱讀(231) | 評論 (0)編輯 收藏

          下文轉(zhuǎn)載自:

          http://www.cnblogs.com/qixin622/archive/2010/07/23/1784002.html

           


          Java'中的幾種Look and Feel
          1、Metal風(fēng)格 (默認(rèn))
          String lookAndFeel = "javax.swing.plaf.metal.MetalLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          2、Windows風(fēng)格
          String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          3、Windows Classic風(fēng)格
          String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          4、Motif風(fēng)格
          String lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          5、Mac風(fēng)格 (需要在相關(guān)的操作系統(tǒng)上方可實現(xiàn))
          String lookAndFeel = "com.sun.java.swing.plaf.mac.MacLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          6、GTK風(fēng)格 (需要在相關(guān)的操作系統(tǒng)上方可實現(xiàn))
          String lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
          UIManager.setLookAndFeel(lookAndFeel);
          7、可跨平臺的默認(rèn)風(fēng)格
          String lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();
          UIManager.setLookAndFeel(lookAndFeel);
          8、當(dāng)前系統(tǒng)的風(fēng)格
          String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
          UIManager.setLookAndFeel(lookAndFeel);

          在Java中讓用戶能夠動態(tài)地更改應(yīng)用的外觀,可以給用戶更好地體驗,具體的實現(xiàn)方式是:
          1,先使用UIManager.setLookAndFeel(String s)方法設(shè)定對應(yīng)的外觀
          2,再使用SwingUtilities.updateComponentTreeUI(Component c)方法立刻更新應(yīng)用的外觀
          這兩個類均在javax.swing包中

          posted @ 2014-02-12 10:20 ZT文萃 閱讀(222) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共8頁: 上一頁 1 2 3 4 5 6 7 8 下一頁 
          主站蜘蛛池模板: 武汉市| 武冈市| 崇明县| 山阴县| 柞水县| 阳西县| 偏关县| 尼勒克县| 贞丰县| 安徽省| 通海县| 绥德县| 商丘市| 轮台县| 开原市| 北宁市| 扎赉特旗| 苍南县| 万全县| 顺平县| 特克斯县| 上林县| 鄂伦春自治旗| 沙坪坝区| 平顶山市| 湘乡市| 孟连| 隆回县| 乌鲁木齐市| 万盛区| 正镶白旗| 韶山市| 朝阳区| 友谊县| 福贡县| 延寿县| 鹤峰县| 华蓥市| 吕梁市| 台前县| 汉寿县|