首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2SE

Java SE 6.0 (Mustang) 新特性體驗:桌面整合、權限控制、網路參數、表格排序過濾

     編輯:J2SE

一、檔案存取權限控制新方法 (java.io.File)

Mustang 新增六個方法精確設定/查詢擁有者與全體用戶的讀/寫/執行權限:

  • setReadable(boolean, boolean ownerOnly) / setReadable(boolean)
  • setWritable(boolean, boolean ownerOnly) / setWritable(boolean)
  • setExecutable(boolean, boolean ownerOnly) / setExecutable(boolean)
  • 對應查詢:canRead()、canWrite()、canExecute() (新增)。

底層檔案系統不支援細粒度權限時,會套用至全體用戶。安全管理器可能拋出 SecurityException。

二、桌面整合 API (java.awt.Desktop)

無縫啟動系統預設應用:

  • Desktop.isDesktopSupported() / getDesktop() 檢查支援性。
  • browse(URI):開啟瀏覽器。
  • mail() / mail(mailto:URI):開啟郵件客戶端編輯視窗。
  • open(File):用關聯程式開啟檔案/目錄。
  • edit(File):用關聯編輯器編輯。
  • print(File):列印檔案。
  • isSupported(Desktop.Action) 預檢動作支援性 (BROWSE, MAIL, OPEN, EDIT, PRINT)。

示範程式 DesktopDemo 含 GUI 選單測試各動作,截圖展示郵件 URI 自動填入收件人/主旨/內文。

三、程式化存取網路參數 (java.net.NetworkInterface / InterfaceAddress)

新增 10 個 NetworkInterface 方法:

  • getHardwareAddress() (MAC)、getInterfaceAddresses()、getMTU()、getParent()、getSubInterfaces()、isLoopback()、isPointToPoint()、isUp()、isVirtual()、supportsMulticast()。

InterfaceAddress 新增:getAddress()、getBroadcast() (IPv4)、getNetworkPrefixLength() (子網掩碼/前綴長度)。

示範程式 NetParmsDemo 列舉所有介面詳細資訊。

四、JTable 表格排序與過濾 (javax.swing.table.TableRowSorter)

  • table.setAutoCreateRowSorter(true) 一鍵啟用點擊欄位標題排序 (升/降序切換),標題顯示箭頭指示。
  • 進階:自建 TableRowSorter<TableModel>,setRowFilter(RowFilter.regexFilter("^A")) 正則過濾行 (僅影響視圖,不改模型)。
  • convertRowIndexToModel/View 互轉模型/視圖行索引。

示範程式 TableSortFilterDemo 截圖展示排序箭頭與正則過濾後的未排序視圖。

其他新特性

  • Compiler API (JSR 199)、Scripting API (JSR 223)、內建 Java DB (Derby)、JDBC 4.0 改進、XML 數位簽名、增強國際化 (Locale 擴展) 等。

本文來自編程入門網:原文連結

  1. 上一篇文章:
  2. 下一篇文章: No
Copyright © 程式碼之家 All Rights Reserved