瘋狂

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

          日歷

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

          公告

          公眾號:
          QQjava交流群:51374316



          相冊

          搜索

          •  

          積分與排名

          • 積分 - 2843757
          • 排名 - 2

          最新隨筆

          拾遺補缺-jdk6新特性

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

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

          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 系統托盤:

          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("無法取得系統工具欄");
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統工具欄");
          }

          }

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

          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("關閉");
          pMenu.add(item1);
          pMenu.add(item2);
          TrayIcon trayIcon = new TrayIcon(image,"這是托盤信息",pMenu);
          try {
          tray.add(trayIcon);
          } catch (AWTException e) {
          System.out.println("無法取得系統工具欄");
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統工具欄");
          }

          }

           

           

           

           

           

           如果想在系統工具欄圖標上主動顯示提示 這可以使用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("關閉");
          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("無法取得系統工具欄");
          e.printStackTrace();
          } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統工具欄");
          }

          }

           如果要刪除工具欄的圖標可以用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("關閉");
          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("無法取得系統工具欄");
          e.printStackTrace();
          } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          }
          }else{
          System.out.println("無法取得系統工具欄");
          }

          }

           

           3 calsspath設置:

           在java se 6之前如果目錄下有很多.jar文件 這要一個一個分別制定才能可以正確的設置classpath 例如要在執行程序時:指定如下的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的使用有了相當的簡化 包括了簡化的數據庫驅動加載 異常處理的改進增強的blob/clob的支持

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

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

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

          
          

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

          只需要下面一行就可以了

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

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

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

          5 改進的blob/clob處理

            具體文章編寫中。。。

          主站蜘蛛池模板: 华亭县| 武山县| 城口县| 平顶山市| 师宗县| 剑河县| 天门市| 诸城市| 荥经县| 体育| 资阳市| 贞丰县| 民丰县| 个旧市| 曲靖市| 新兴县| 大厂| 南城县| 梅州市| 镇平县| 宜宾市| 沂南县| 固阳县| 龙井市| 山东省| 徐州市| 迁安市| 峨眉山市| 于都县| 汉沽区| 泰宁县| 石泉县| 兰考县| 堆龙德庆县| 高平市| 吉林市| 宜昌市| 巴中市| 兴安县| 旬阳县| 定西市|