瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          公告

          公眾號:
          QQjava交流群:51374316



          相冊

          搜索

          •  

          積分與排名

          • 積分 - 2844381
          • 排名 - 2

          最新隨筆

          拾遺補缺-jdk6新特性

          Posted on 2009-11-02 15:01 瘋狂 閱讀(349) 評論(0)  編輯  收藏 所屬分類: java

          1,輸出到文件 java Hello.java > hello.txt 也可以>>吧內(nèi)容附加到后面

          2,integer各種toXXX方法:Integer.toBinaryString(2147483647);Integer.toHexString(2147483647);Integer.toOctalString(2147483647)

          3,System.out.printf("%x%n", 19);System.out.printf("%o%n", 19);System.out.printf("%d%n", 19);

          4,

           

          jdk6新特性:

            java.lang包:

          添加string的isEmpty()方法

          public boolean isEmpty() { return count == 0; }

           

          
          

           System.arraycopy(src, srcPos, dest, destPos, length)

           

          public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

           

          
          

           

          System.console().readLine();

           System.console().readPassword();

           

          java.awt

           1  java -splash 指定啟動畫面的圖片 例如java -splash:a.jpg -jar myjar.jar 支持的圖片 jpg gif png gif

          也可以在manifest里指定:例如:

          Manifest-Version: 1.0 Main-Class: main.java SplashScreen-Image:a.jpg

          
          

           如果要控制圖片可以參考java.awt包的api

          2 系統(tǒng)托盤:

          public static void main(String ar[]){
          if(SystemTray.isSupported()){
          SystemTray tray = SystemTray.getSystemTray();
          Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");
          TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息");
          try {
          tray.add(trayIcon);
          } catch (AWTException e) {
          System.out.println("無法取得系統(tǒng)工具欄");
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統(tǒng)工具欄");
          }

          }

           如果想添加右鍵菜單就可以使用TrayIcon的另外一個構(gòu)造方法

          TrayIcon(Image image, String tooltip, PopupMenu popup)

           完整代碼示例:

          public static void main(String ar[]){
          if(SystemTray.isSupported()){
          SystemTray tray = SystemTray.getSystemTray();
          Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");

          PopupMenu pMenu = new PopupMenu();
          MenuItem item1 = new MenuItem("開啟");
          MenuItem item2 = new MenuItem("關(guān)閉");
          pMenu.add(item1);
          pMenu.add(item2);
          TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);
          try {
          tray.add(trayIcon);
          } catch (AWTException e) {
          System.out.println("無法取得系統(tǒng)工具欄");
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統(tǒng)工具欄");
          }

          }

           

           

           

           

           

           如果想在系統(tǒng)工具欄圖標(biāo)上主動顯示提示 這可以使用TrayIcon的displayMessage方法

          示例代碼:

          寫道
          if(SystemTray.isSupported()){
          SystemTray tray = SystemTray.getSystemTray();
          Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");

          PopupMenu pMenu = new PopupMenu();
          MenuItem item1 = new MenuItem("開啟");
          MenuItem item2 = new MenuItem("關(guān)閉");
          pMenu.add(item1);
          pMenu.add(item2);
          TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);

          try {

          tray.add(trayIcon);
          trayIcon.displayMessage("title", "該休息了", TrayIcon.MessageType.WARNING);
          } catch (AWTException e) {
          System.out.println("無法取得系統(tǒng)工具欄");
          e.printStackTrace();
          } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統(tǒng)工具欄");
          }

          }

           如果要刪除工具欄的圖標(biāo)可以用tray.remove(trayIcon);

          完整示例代碼

          寫道
          public static void main(String ar[]){
          if(SystemTray.isSupported()){
          SystemTray tray = SystemTray.getSystemTray();
          Image image = Toolkit.getDefaultToolkit().getImage("bi.gif");

          PopupMenu pMenu = new PopupMenu();
          MenuItem item1 = new MenuItem("開啟");
          MenuItem item2 = new MenuItem("關(guān)閉");
          pMenu.add(item1);
          pMenu.add(item2);
          TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);

          try {

          tray.add(trayIcon);
          trayIcon.displayMessage("title", "該休息了", TrayIcon.MessageType.WARNING);
          Thread.sleep(10000);
          tray.remove(trayIcon);
          } catch (AWTException e) {
          System.out.println("無法取得系統(tǒng)工具欄");
          e.printStackTrace();
          } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統(tǒng)工具欄");
          }

          }

           

           3 calsspath設(shè)置:

           在java se 6之前如果目錄下有很多.jar文件 這要一個一個分別制定才能可以正確的設(shè)置classpath 例如要在執(zhí)行程序時:指定如下的classpath

           java -cp .;c:\jars\a.jar;c:\jars\b.jar;c:\jars\c.jar; package.main

          在 java se 6以后可以使用*來制定目錄下的所有jar文件 例如上面的示例可以改成

          java -cp .;c:\jars\*.jar  package.main

          4 使用Apache Derby  jdbc4.0

          中包含了jdbc 4.0 對于jdbc的使用有了相當(dāng)?shù)暮喕?包括了簡化的數(shù)據(jù)庫驅(qū)動加載 異常處理的改進增強的blob/clob的支持

            同事綁定了Apache Derby  數(shù)據(jù)庫 可以使用neatbeans操作 比較簡單

          jdbc 4.0之前 加載數(shù)據(jù)庫的時候需要先用class.forName制定驅(qū)動程序名稱 已加載驅(qū)動 例如:

          Class.forName("com......driver"); Connection conn = DriverManager.getConnection(url,username,psw);

          
          

           而在jdbc4.0中不需要Class.forName

          只需要下面一行就可以了

           Connection conn = DriverManager.getConnection(url,username,psw);

           那么jdbc如何加載這個驅(qū)動程序呢?jvm制動在classpath中尋找META-INF/services/java.sql.Driver中尋找驅(qū)動名稱

          以 Apache Derby  為例 其驅(qū)動包derbyclient.jar中的META-INF/services/java.sql.Driver文件中編寫的是org.apache.derby.jdbc.ClienDriver

          5 改進的blob/clob處理

            具體文章編寫中。。。

          主站蜘蛛池模板: 金门县| 闽侯县| 天峨县| 松溪县| 韶关市| 玛多县| 滨州市| 山东| 湘潭市| 宁晋县| 灵璧县| 鱼台县| 阜康市| 兰坪| 双柏县| 琼中| 嘉黎县| 三亚市| 永城市| 濉溪县| 如皋市| 宁晋县| 惠水县| 西平县| 论坛| 鹤壁市| 吴忠市| 汝阳县| 甘谷县| 衡阳县| 旬阳县| 开封县| 英吉沙县| 白水县| 淮南市| 监利县| 麻江县| 新巴尔虎右旗| 舟山市| 乐陵市| 柳州市|