ここに示す Java テクノロジーとアプリケーション・プログラミング・インタフェース (API) は、Java Platform, Standard Edition (Java SE) の基本技術です。ユーザーがサーバー・アプリケーションやデスクトップ・アプリケーション、アプレットを作成する場合に、Linux、Macintosh、Solaris、Windows を含むほぼすべてのポピュラーなOSで動作に必要となる機能を提供します。 » さらに詳しく読む

 
 
JDK   Java Language
Java Language
Tools &
Tool APIs
java javac javadoc apt jar javap JPDA JConsole Java VisualVM
Security Int'l RMI IDL Deploy Monitoring Troubleshoot Scripting JVM TI
JRE Deployment
Technologies
Deployment Java Web Start Java Plug-in
User Interface
Toolkits
AWT Swing Java 2D
Accessibility Drag n Drop Input Methods Image I/O Print Service Sound
  Java SE
API
Integration
Libraries
IDL JDBC JNDI RMI RMI-IIOP
Other Base
Libraries
Beans Intl Support Input/Output JMX JNI Math
Networking Override Mechanism Security Serialization Extension Mechanism XML JAXP
lang and util
Base Libraries
lang and util Collections Concurrency Utilities JAR Logging Management
Preferences API Ref Objects Reflection Regular Expressions Versioning Zip Instrumentation
Java Virtual
Machine
Java Hotspot Client VM Java Hotspot Server VM
  Platforms
Solaris Linux Windows Other


プログラミングガイドまたはドキュメントを参照する場合は、上記の図内の各テクノロジーをクリックしてください。また、以下のリンクから、それぞれのテクノロジーの中核となるページがある場合はそのページに、またはドキュメントが提供されている場合はドキュメントを参照することができます。

Java SE の概要

Java SE プラットフォーム・ファミリには、Java SE Runtime Environment (JRE)Java Development Kit (JDK)の 2 つの主要製品があります。

Java Runtime Environment (JRE)

Java Runtime Environment (JRE) は、Java プログラミング言語で記述されたアプレットやアプリケーションを実行するためのライブラリ、Java Virtual Machine およびその他のコンポーネントを提供します。また、2 つの主要なデプロイメント・テクノロジーが JRE の一部になっています。1つはJava Plug-inで、ポピュラーなブラウザ上でアプレットが動作するようにします。もう 1 つは で、ネットワーク経由でスタンドアロン・アプリケーションを配備します。JRE はエンタープライズ・ソフトウェアの開発と配備のための Java 2 Platform, Enterprise Edition (J2EE) テクノロジーの基礎にもなっています。JRE にはコンパイラやデバッガといった、アプレットやアプリケーションを開発するためのツールとユーティリティは含まれていません。

Java Development Kit (JDK)
JDK は JRE の上位セットであり、JRE に含まれる機能はすべて保持しつつ、それに加えてコンパイラやデバッガなどアプレットやアプリケーションの開発に必要なツールも含まれています。 上記の概念図 は、Java SE プラットフォームのすべてのコンポーネント・テクノロジーがどのように連携するかについて説明しています。

» ダウンロード

Java SE API

Java SE アプリケーション・プログラミング・インタフェース (API) は、アプレットまたはアプリケーションが、コンパイルされた Java SE クラスライブラリに要求を出し、利用可能な機能を使えるようにする作法を定義しています(Java SE クラスライブラリは Java SE プラットフォームの一部でもあります)。

Java SE API は、コアテクノロジー 、Desktop (またはクライアント) テクノロジー、およびその他のテクノロジーで構成されます。

  • コアコンポーネントは、データベースアクセス、セキュリティ、遠隔メソッド呼出し (Remote Method Invocation : RMI)、コミュニケーションなど、主要な分野における強力なエンタープライズ・クラスのプログラム作成に必須となる機能を提供します。
  • デスクトップ・コンポーネントは、Java Plug-in などの配備製品、JavaBeans のようなコンポーネント・モデリング API、およびグラフィカル・ユーザー・インタフェースといった、リッチなユーザー経験を提供するアプリケーションを構築するための広範囲な機能を付加します。
  • その他のコンポーネントによって Java SE のすべての機能がサポートされます。

Java 仮想マシン

Java 仮想マシンは、ハードウェアやOSに依存しない Java SE プラットフォームを提供し、コンパイルされたコード (バイトコード) のサイズ効率、およびプラットフォーム・セキュリティに寄与します。

Java プラットフォーム・ツール

Java SE プラットフォームは、統合開発環境 (IDE)、パフォーマンスとテストツール、およびパフォーマンス監視ツールを含む一連のツールとも連動します。

 

データベース

Java DB

Java DB はサンがサポートする、オープンソースの Apache Derbyデータベースの ディストリビューションです。容易に使うことができ、標準に準拠したフル機能のセットなので、少しの作業で Java 開発者にとって理想的なデータベースを構築することができます。Java DB は Java プログラミング言語で記述されており、「一度書けばどこでも実行できる (write once, run anywhere)」の理念のとおり、高いポータビリティを提供します。開発者やユーザーによる管理が不要で、 Java アプリケーションに組み込むことができます。また、クライアント・サーバーモードで使用することも可能です。Java DB は完全なトランザクション機能をもち、標準 SQL インタフェースおよび JDBC 4.0 準拠ドライバを提供します。

Java DB についてさらに読む

Java Data Objects (JDO)

Java Data Objects (JDO) API は、標準インタフェースの永続的な Java モデルによる抽象化です。アプリケーション・プログラマーは JDO テクノロジーを使用して、直接 Java ドメインモデル・インスタンスを永続的ストア (データベース) に格納することができます。そのほか、プログラミングの簡素化、アプリケーション・ポータビリティ、データベース非依存、高パフォーマンス、オプションで得られる Enterprise JavaBeans (EJB) の統合なども、採用する利点として挙げられます。JDOは Java Specification Request 12 ( JSR 12) および Java Specification Request 243 (JSR 243) の仕様に基づいて開発されました。JDO 2.0 以降は、API と Technology Compatibility Kit (TCK) の開発はApache JDOオープンソース・プロジェクト内で おこなわれています。 JDO についてさらに読む

The Java Database Connectivity (JDBC)

Java Database Connectivity (JDBC) API は、Java プログラミング言語とさまざまなデータベース (SQL データベース、表計算ドキュメント、フラットファイルといった表データソース) の間で、データベースに依存しない接続性を提供する業界標準です。JDBC API は、SQL ベースのデータベースアクセスのための呼出しレベル API を提供します。

JDBC テクノロジーによって、Java プログラミング言語を使ったエンタープライズ・データにアクセスするアプリケーションに必要となる「一度書けばどこでも実行できる」という特性を実現できます。JDBC テクノロジーが利用可能なドライバであれば、異機種環境であってもすべての企業データに接続できます。

JDBC ドキュメントJ2SE 1.4.2 | J2SE 5.0 | Java SE 6

関連項目:

    Desktop

    Open all Close all
  • Desktop の概要

    Java SE Desktop の概要

    Desktop Java テクノロジーは、すばやい処理が可能な、セキュアで可搬性のあるリッチなクライアント・アプリケーションおよびアプレットを作成するために使用されます。このページでは、これらすべてのテクノロジーについて説明しています。

    ほとんどのテクノロジーは Java SE (Java Runtime Environment - JRE としても知られています) の一部として含まれており、さまざまな OS の 90% 以上のデスクトップ・システムにプリインストールされています。その他の Desktop Java テクノロジーは、別の Java 拡張としてダウンロード可能なファイルとして入手するか、java.net からオープンソース・プロジェクトとして入手できます。最終的に、NetBeans IDE の統合 GUI ビルダ機能によりすべてをまとめることができるため、デスクトップ・アプリケーションを簡単に構築することができます。

    コミュニティ

    クライアント・アプリケーション開発者のための最新の情報については、 JavaDesktop.org の java.net のコミュニティを参照してください。

    • java.net の JavaDesktop フォーラム: Desktop に関するすべてのことを議論できる最良の場所です。Java の今後の方向性や将来についてなど、経験豊富な開発者による Q&A が含まれています。サンの Desktop Java エンジニアの多くがこれらのフォーラムに参加しています。
    • Sun Developer Network (SDN) の Java フォーラム:  Q&A を発展させたフォーラムで、開発初心者にも上級者にも有益な情報リソースです。

    テクノロジーの概要

    Java Web Start / JNLP

    Java Web Start は、Java Community Process (JCP) プログラム の Java テクノロジーをベースにしたアプリケーションを、柔軟で堅牢に配備することのできるソフトウェアです。JCP プログラムの JSR-56 をもとに開発されたテクノロジーです: Java Network Launching Protocol & API (JNLP) は、Java 2 テクノロジーをベースにしたアプリケーションをクライアントのデスクトップに配備するための、ブラウザに依存しないアーキテクチャを提供します。さらに読む

    Java SE プラットフォームに含まれる

    Java Plug-In Java 2 Runtime Environment, Standard Edition (JRE) の一部として含まれる Java Plug-in テクノロジー は、さまざまなブラウザと Java プラットフォームの間に接続を確立します。この接続により、Web サイト上のアプレットがデスクトップ上のブラウザ内で動作できるようになります。 さらに読む

    Java SE プラットフォームに含まれる

    Swing Swing API は、GUI (Graphical User Interface) コンポーネントの包括的なセットとサービスを提供し、商用品質のデスクトップと内部/イントラネット・アプリケーションの開発を可能にします。Swing はこのページで説明している Desktop Java 以外 (JavaBeans、AWT、Java2Dなど) のテクノロジー上に構築されており、アクセシビリティと国際化にも対応しています。Swing プログラミングに関して詳しく知りたい場合はThe Swing Tutorialを参照してください。

    Java SE プラットフォームに含まれる

    Java 2D Java 2D API は、高度な 2次元のグラフィックス処理のためのクラスのセットで、画像処理、囲み線アート、テキスト、および単一の包括的モデルのイメージが含まれます。API は、イメージの合成とアルファチャネル・イメージ、正確なカラー空間定義と変換を提供するクラスのセット、およびディスプレイ指向画像処理オペレータなどの広範なサポートを提供します。

    Java SE プラットフォームに含まれる

    Java 3D

    Java 3DPH*PH*PHuFFFDPH*PH*PH API は、ビルド、描画、3D オブジェクトとビジュアル環境の動作を制御するための、シンプルで高レベルなプログラミングモデルのオブジェクト指向のインタフェースのセットを提供します。Java 3D API を使用すると、高品質で、スケーラブルなプラットフォーム非依存 3D グラフィックスを Java テクノロジーをベースにしたアプリケーションやアプレットに取り込むことができます。 さらに読む

     » Java 3D のダウンロード

    Distributed through project  java3d

    Java Sound

    Java Sound API の仕様は、音声プレイバックやキャプチャ (録音)、ミキシング、MIDI シークエンス、および MIDI 合成を拡張するフレキシブルなフレームワークを含む、音声処理の下位レベルサポートを提供します。Java Sound は Java 2 Platform, Standard Edition (J2SE), version 1.3.x 以上の製品に含まれています。 さらに読む

    Java SE プラットフォームに含まれる

    Java Bindings for OpenGL (JOGL)

    JOGL は OpenGL 3D グラフィックス API にバインドされた Java プログラミング言語です。マルチスレッド化された OpenGL アプリケーションの構築にかかわる多くの問題を最小限で簡単に操作できる API を提供しながら、Java プラットフォームの AWT および Swing ウィジェットセットの統合をサポートします。JOGL は、最新の OpenGL ルーチン (ベンダーにより拡張された OpenGL 2.0) へのアクセスを可能にすると同時に、ハードウェア高速化オフスクリーン・レンダリング ("pbuffers") にプラットフォーム非依存アクセスを提供します。また、JOGL は OpenGL ライクな GL4Java、LWJGLや Magicianなど、Java から派生した人気のある機能も提供します。Java ベースの OpenGL アプリケーションを類似のC プログラムよりも速くデバッグできるパイプラインモデルも含まれています。 さらに読む

     » JOGL のダウンロード 

    プロジェクト jogl で配布

    Java Advanced Imaging (JAI)

    Java Advanced Imaging API は、イメージを容易に操作できるようにするための、シンプルで高レベルなプログラミングモデルをサポートするオブジェクト指向インタフェースのセットを提供します。 さらに読む

     » JAI のダウンロード 

    オプションの Java SE API

    AWT (Abstract Window Toolkit)

    Abstract Window Toolkit (AWT) は、グラフィカル・ユーザー・インタフェース (GUI) プログラミングをサポートします。AWTは Java SE デスクトップ・ライブラリのコア基盤の特長を利用しています。強力なイベントハンドル・モデルとして、形、色、フォントクラスを処理するグラフィックスと画像処理ツール、ウィンドウのレイアウトを柔軟に管理するレイアウト・マネージャ、ネイティブ・プラットフォームのクリップボードを介したカット&ペーストをおこなうデータ転送クラス (ドラッグ&ドロップを含む) などが含まれています。AWT には、ウィンドウ、ボタンなどのユーザー・インタフェース・コンポーネントの基本セットも含まれています。Swing は AWT の上位に構築されており、多くの場合 AWT のコンポーネントよりも Swing の上位レベルコンポーネントの使用が推奨されます。ただし、Swing におけるプログラミングでは、AWT の API を理解しておくことも重要です。 さらに読む

    Java SE プラットフォームに含まれる

    国際化

    国際化は、ソフトウェアをさまざまな言語や地域に適合 (ローカライズ) させるためのデザインのプロセスであり、簡単にコスト効率よく実行すること、とくにソフトウェアの技術的な変更をせずにおこなうことが求められます。ローカライズ版には単に、翻訳されたテキスト、地域特有の動作を記述したデータ、フォント、入力方式など、地域に固有のコンポーネントを追加していきます。Java 2 Platform では、言語や文化に依存する動作を提供するクラスやパッケージの国際化サポートが完全に統合されています。 さらに読む

    Java SE プラットフォームに含まれる

    JavaBeans

    JavaBeans テクノロジーは、Java 2 Platform, Standard Edition (J2SE) のコンポーネント・アーキテクチャです。JavaBeans コンポーネント (beans) は再利用可能なソフトウェア・プログラムで、精度の高いアプリケーションを作成するための開発とアセンブルを簡単におこなうことができます。 さらに読む

    Java SE プラットフォームに含まれる

    JavaHelp System

    JavaHelp ソフトウェアは、アプレット、コンポーネント、アプリケーション、OS およびデバイスにオンラインヘルプを統合できる、多機能でプラットフォームに依存しない拡張可能なヘルプシステムです。誰でも、JavaHelp ソフトウェアを使用して Web や企業イントラネットなどのオンライン・ドキュメントを提供することができます。JavaHelp システムは、全体が Java プログラミング言語で記述されており、Java Runtime Environment (JRE) に対応するあらゆるプラットフォームやブラウザ上で動作するため、Web や企業イントラネットなど、異種環境での利用にも適しています。 さらに読む

    オプションの Java SE API

    アクセシビリティ

    1973 年にリハビリテーション法 (Rehabilitation Act ) 508 条が成立して以来、米国連邦政府は 508条に準拠する電子・情報技術製品およびサービスの購入を求めてきました。Java テクノロジー開発者にとってアクセシビリティとは、障害をもつ人がソフトウェアを使えるようにするために、アプリケーションにサービスやサポートを組み込むことを意味しています。Java アクセシビリティのテクノロジーは、Java Foundation Classes (JFC) に実装されており、2 つの別々のパッケージ: Java Accessibility APIおよび Java Accessibility Utilitiesで構成されます。 さらに読む

    Java SE プラットフォームに含まれる

    JDesktop Integration Components

    JDesktop Integration Components (JDIC) プロジェクトは、現在のデスクトップ・プラットフォームの利用者がプラットフォーム非依存性を損なうことなく JavaPH*PH*PH\uFFFDPH*PH*PH テクノロジーベースのアプリケーション ("Java アプリケーション") を作成することを目的としています。その役割はシームレスなDesktop /Java の統合です。

    JDIC は、ネィティブ・デスクトップが提供する機能や設備に Java アプリケーションがアクセスできるようにします。JDIC は、Java パッケージとツールで構成されています。JDIC は、ネィティブブラウザの組み込み、デスクトップ・アプリケーションの実行、デスクトップ上のトレイアイコンの作成、ファイルタイプ関連づけの登録、JNLP インストーラ・パッケージの作成など、さまざまな機能をサポートします。多くの新機能はコミュニティからのインキュベーター・プロジェクトとして提供されています。 さらに読む

     » JDIC のダウンロード 

    プロジェクト jdic で配布

    輪を広げよう!

    Get Java Software Button  ボタン を使ってJava プラットフォームをサポートしていることを伝えてください。ユーザーが最新版をダウンロードできるようにします (詳細)。

  • ドキュメント

    Java SE Desktop Documentation

    This page focuses on in-depth documentation for Desktop Java technologies. Below you will find official API specifications, API documentation (javadoc), technical articles, and our fabulous tutorials & developer guides.

    Note: be sure to check out that blogs by our Desktop Java engineers, which are updated daily on javadesktop.org .

     

    Quick Links

     

    Tutorial & Developer's Guides

     

    Rich Internet Applications

    API Documentation (javadoc)

    • Accessibility  javax.accessibility  1.4.2  5.0  6.0
                 
    • AWT   java.awt   1.4.2   5.0   6.0
                 
    • Java2D   java.awt.image   1.4.2   5.0   6.0
        java.awt.geom   1.4.2   5.0   6.0
        javax.imageio http://docs.oracle.com/javase/1.5.0/docs/api/index.html?java/awt/geom/package-summary.html 1.4.2   5.0   6.0
                 
                 
    • Internationalization (I18N)   java.text   1.4.2   5.0   6.0
        java.util.Calendar   1.4.2   5.0   6.0
                 
    • Java Advanced Imaging (JAI)   com.sun.media.jai   1.1.3    
        javax.media.jai   1.1.3    
                 
    • Java Beans   java.beans   1.4.2   5.0   6.0
        java.beans.beancontext   1.4.2   5.0   6.0
                 
    • Java bindings for OpenGL (JOGL)            
                 
    • Java Media Framework (JMF)       2.1.1    
                 
    • Java Sound   javax.sound.midi   1.4.2   5.0   6.0
        javax.sound.sampled     5.0   6.0
                 
    •Java Speech            
                 
    •JDesktop Integration Components (JDIC)   org.jdesktop.jdic   most recent
                 
    • Swing   javax.swing   1.4.2   5.0   6.0
     

    API Specifications (non-javadoc)

  • 技術記事

    Java SE Desktop Articles

     

    Articles

    Categories
    Technologies Featured
    • Java Plug-In, Java Web Start
    • JavaBeans
    • Java2D, Java3D, JAI, JOGL
    • AWT, JDIC
    • I18N, Swing
    • Java2D, Swing
    • Swing
    • AWT, Swing
    • Java2D, JDIC, Swing
    • Accessibility, AWT, Beans, I18N, Java2D, Sound, Swing

    Deployment

    Blog: Using Java Web Start to Launch NetBeans Wouldn't it be nice to be able to show a Java source file in NetBeans by clicking on a JNLP link in the browser? Now you can.

    Digging into Java Web Start

    This java.net article is the second in a two-part series by Joshua Marinacci. The  first article  covered creating and deploying a simple app using Java Web Start. The second article shows what you need to do to make your application run safely and feel professional. Topics covered include security, optimized downloads, and polishing your program.

    Getting Started with Java Web Start

    This java.net article is the first in a two-part series that Joshua Marinacci promises will tell you everything you need to know to start using Java Web Start. The first article leads you through creating and deploying a simple app. The second article will cover security, optimized downloads, and how to polish your program.

    Distributing Sun Java System Identity Server Applications Using Java Web Start

    Take a walk through the Java Web Start technique of distributing Java applications developed with Remote Client API for Sun's Identity Server 6.0.

    Beans

    Long-Term Persistence for JavaBeans using XML, Part 4

    This article describes the XMLEncoder and Persistence Delegates.

    Long-Term Persistence for JavaBeans using XML, Part 3

    This article describes the XML schema so that implementations other than XMLEncoder/XMLDecoder can be used to write and read compatible files.

    Long-Term Persistence for JavaBeans using XML, Part 2

    Update to the Long-Term Persistence project

    Long-Term Persistence for JavaBeans using XML, Part 1

    This article lays the ground work for the development of the a new persistence mechanism.

    JavaBeans Technology: Unlocking The BeanContext API Read this article to learn more about the Extensible Runtime Containment and Services Protocol API (BeanContext, for short) and see how this API is implemented in the BeanBox in the Beans Development Kit (BDK) 1.1 and how you can develop dynamically connecting Beans.

    JavaBeans, Part 3: Testing Beans in the BDK BeanBox The third part shows how to use the BeanBox application provided with the JavaBeans Development Kit (BDK) to test Beans you have built. The BeanBox provides important feedback that lets you determine if your Beans will behave as expected in third-party builder tools and application programs.

    Java Beans, Part 2: Writing a Simple Bean The second article in the series presents code that shows you how to build simple Beans, and how to package them for distribution as JAR files.

    Java Beans: Part 1: Introducing Java Beans This is the first in a series of articles introducing JavaBeans. This article presents Beans from a conceptual point of view, and introduces you to component technology, properties, methods, events, and application builder tools.

    Graphics & Imaging

    Blog:  A Reusable BuddyList Component

    How to build a generic buddy list cell renderer. File under Advanced JList Hacking.

    Smooth Moves

    Earlier Chet Haase  blogged  about some of the factors that contribute to choppy animations. Part Two of the discussion is his just-published java.net article, Smooth Moves, which examines some of the solutions to animation problems.

    Blog:  Make Your Animations Less Ch-Ch-Choppy

    This is Part One of a two-part series. Part One examines some of the factors that contribute to choppy animations. Part Two  examines some of the solutions to those problems.

    Blog:  Using Java2D and timingframework to animate a button

    A good looking GUI needs a bit more than just fancy graphics. It needs life, animation! Java SE provides everything you need to make your Swing apps swing, but there's an easier way.

    Blog:  400 Horsepower: Image I/O Improvements in Java SE 6

    Image I/O performance enhancements in Java SE 6... (In)action shots of the Java Client team... And my first external Java SE 6 fix submission.

    Blog:  Drag and Drop Effects and Java2D Performance

    While writing a new Swing/Java2D demo Romain Guy ran into very interesting issues with pictures painting.

    Learning Java 2D, Part 2 The Java 2D API allows you to create some stunningly high-quality graphics. This article, part 2 in a series, discusses ways to use the Java 2D libraries to manipulate and display images using the BufferedImage and VolatileImage classes, as well as techniques for performing filtering operations

    Blog:  Physics Laws in Swing Applications A nice way to improve the user experience is to mimic real world physics laws in your GUI.

    Blog:  Java2D/JOGL Interoperability

    Details (and screenshots) on the improved Java2D/JOGL interop story in the latest Java SE 6 and JOGL builds.

    Learning Java 2D, Part 1

    The Java 2D API can help you create some stunningly high-quality graphics. This article, part 1 of 3, helps you become familiar with shapes, lines, and the Java 2D rendering pipeline

    Introduction to Java Advanced Imaging (JAI) This introduction to Java Advanced Imaging walks you through using the JAI API to manipulate a JPEG image.

    VolatileBufferedToolkitImage Strategies Ever wondered what kind of image to use in your application? Or what method to use in creating it? This article attempts to address this challenging topic

    Intermediate Images Learn how to create and use temporary images to speed up complex rendering tasks; cache those operations in images and just call drawImage() instead.

    Lighting a 3D Scene Learn how to light up your Java3D applications in this colorful Tech Tip.

    Image Handling Basics

    When doing animation, you will find that the Image class of the java.awt package serves as the base. Learn about the basics of image handling in this article.

    High Performance Graphics with Java2D

    Learn about how the new pipeline architecture.

    Native Desktop Integration

    New System Tray Functionality

    Learn about the coming system tray functionality in Java SE 6.

    Communicating with Native Applications Using JDIC Learn about the basics of using JDesktop Integration Components.

    Introducing JDesktop Integration Components, Part 2 This article discusses the SaverBeans SDK, which lets you write platform-independent screensavers. SaverBeans is an incubator project under the JDesktop Integration Components (JDIC) project

    Introducing JDesktop Integration Components, Part 1

    This article by Joshua Marinacci is all about the java.net/JavaDesktop JDIC project, which lets you integrate Java apps into native environments without writing native code

    Introducing JDIC A good overview on this new project on java.net

    Internationalization (I18N)

    Internationalization: Understanding Locale in the Java Platform To be effective, an application should respect the user's language and geographic region. Learn how to use locale-sensitive objects to customize your Java technology application with the use of language, country, and variant codes

    Supplementary Characters in the Java Platform Learn how supplementary characters are supported in the Java platform, and how to make your application ready to support them

    Read this article to learn how to use input methods in your Swing text components.

    Text, Fonts, & Printing

    Understanding the Caret and Highlighter Interfaces in Swing's Text Package Learn how the Caret and Highlighter interfaces control the view of the current text.

    LCD Text: Anti-Aliasing on the Fringe

    This article covers generic technology that is not specific to Java 2D, or even the Java platform. But because we just integrated this capability into Java SE 6, and we thought it would be worth going into a little more detail on the subject.

    Blog:  Chet Haase - Phil's Font Fixes

    The bits are in: we've just integrated LCD Text support into build 39 of Java SE Java SE 6.

    Validating Text And Filtering Documents Validating and constraining text input has always been an interesting problem for those creating user interfaces for the Java platform. This article discusses the various mechanisms to accomplish this on various version of Java SE.

    Printing JTables This tip shows you how to use the new J2SE 5.0 facilities to print a simple JTable.

    Using EditorKit and JEditorPane This Tech Tip discusses several ways to load content into the Swing editor components.

    Using Swing Components

    Blog: Thomas Pavek - Getting to know GroupLayout, part 1 GroupLayout is a new layout manager that was developed as a Swing Labs project in conjunction with Matisse, the new GUI builder in NetBeans 5.0. Though the layout manager was originally designed to suit the GUI builder needs, it is also quite handy for manual coding. This blog will help you get up to speed with how GroupLayout works and shows you how you can start building GUIs using GroupLayout, whether you choose to use Matisse or write your own code.

    Blog: Enable Dropping into Empty JTables

    Shannon Hickey shows how to enable dropping into empty JTables with a single method call in Java SE 6, or a simple override in earlier versions of J2SE.

    Filtering JList Models Learn how to do Java SE 6 JTable-style filtering for JList in J2SE 5.0.

    Blog: JPasswordField with an empty echo character: the fix

    Learn why Scott Violet's  last attempt at a password field with an empty space echo character failed and how to fix it. A demo is thrown in for good measure.

    Blog:  Variations of JPasswordField   

    Learn how to create alternate views of JPasswordField. In the proess I'll cover portions of Swing's text architecture.

    Customize Your JList Display Swing's JList and JComboBox are great components for displaying object lists, but they don't always display user-friendly text by default. This article shows you how to customize how objects are displayed in JList components

    Sorting & Filtering Tables Learn how to use Java SE 6's new sorting and filtering JTable APIs.

    Blog: TabComponents in action

    Java SE 6's tabComponent feature will be the most preferable and clear solution for customizing JTabbedPane. With it, you can add a close button, use a radio button in the tab, and more.

    Blog:  Customizing Ocean Gradients

    Learn how you can customize the gradients drawn in ocean; from the garish to the minimalist, anything is possible.

    Blog:  Synth Week, File Chooser JFileChooser is a very complex component. One of its major drawbacks was its poor support for Synth in Tiger...

    Blog: Synth Week, Custom Lines Style

    Improving Synth doesn't mean following the path opened by other look and feel, we try to do more.

    Blog:  Synth Week, Components Orientation Support

    Tiger introduced Synth, a cool and easy way to create custom look and feel. Unfortunately, it has some limitations. Discover how Java SE 6 addresses one of the most important ones.

    Blog:  Synth Week, Load Themes From Anywhere

    Better late than never, here is the first installment of the Synth Week. If you like cool features and crappy drawings, click the link!

    Blog:  Synth Week, Bonus Day

    Next week will be Synth week on this blog to present you the new features integrated to Java SE 6. And this is a bonus presentation.

    Blog:  Scott Violet - Ocean, Gradients and Image Caching - oh my

    Get the skinny on how Ocean graidents are drawn and how we were able to make Ocean perform as well as Steel.

    Blog:  Synth Studio

    When Romain Guy started working at Sun, he wrote three tools to help create Synth look and feels for Swing... check out those tools in this blog

    Printing JTables This tip shows you how to use the new J2SE 5.0 facilities to print a simple JTable.

    Getting To Know Synth The latest Core Java Technologies Tech Tips describes how to use the Synth look and feel, a skinnable look and feel first released in J2SE 5.0.

    Customizing JColorChooser In this Tech Tip, you'll learn how to customize areas in the color chooser component.

    The Synth Look & Feel

    This article provides an overview of a new look and feel, Synth, which can be completely customized without writing code, enabling even non-programmers to create new look and feels.

    JFileChooser and Best Practices for Exception Handling As is the case with all things in Swing, if you don't like the look of something, you can change it. Learn how to change the look and behavior of the JFileChooser component. Also get insights into best practices for exception handling. Both topics are covered in the current issue of the Core Java Technologies Tech Tips.

    High Performance Frequently-Updated JTables

    One common type of application features a JTable with frequently updated data. This style of application is often found in the financial industry, but it can crop up in other industries, as well. This article explores techniques for improving the performance of this style of application, affectionately called Christmas tree applications because the rapid updating of their GUIs resembles blinking lights on holiday trees.

    What's coming in JDK1.4 An old preview article of Swing features additions in J2SE 1.4. Yes, it's old, but still has lots of interesting tidbits about the new features.

    All about Swing Borders This article explains how Swing's border classes work, and provides some handy tips for creating, implementing, and managing borders in Swing applications.

    Windows & Dialogs

    The New Modality API in Java SE 6 Learn how Java SE 6 allows greater functionality for modal dialog boxes, supporting document, application, and toolkit modality to ease the user's experience.

    Blog:  JFrame.add() contentPane Pain: The Complete Story

    Learn why early on in Swing's evolution we added a runtime exception that warned developers not to write JFrame.add(myComponent).

    Creating Wizard Dialogs with Java Swing This article by Robert Eckstein discusses how to create a wizard — a dialog with a number of panels that the user progresses through. There is, naturally, source code and an example that you can download

    Customizing Window Adornments Customizing Window Adornments shows how to use this 1.4 feature of undecorated windows

    Let There Be Z-Order This tech tip discusses how to use the setComponentZOrder method (added in 5.0) to control component layering within a container

    Changes in Working With ContentPane This tech tip shows how the 5.0 feature of being able to avoid calls to getContentPane works, and points out that you can't always ignore the content pane.

    SwingLabs: projects under research

    Blog:  JIC: Java Icon File Format

    Tired of "dealing with a dozen png representations of a single (logical) icon as separated files"? Tired of writing/debugging the code to treat multiple files as a single logical unit? Well, Daniel Leuck, SwingLabs, and Ikayzo bring you JIC : the simple multi-resolution cross-platform icon format for Java!

    Blog: Zoom Pictures with SwingLabs FX

    SwingLabs FX module provides new Swing components to create interesting effects. See how to use the new ZoomableImagePanel together with other effects.

    Calendar Components in SwingLabs (was: JDNC) In this tip, you will use the Java APIs for JDNC to create simple calendar widgets.

    Introduction To Tables With JDesktop Network Components (JDNC)

    In this tip you will use JDNC to read tab-separated data from a file and display it in a table. You will put headings on the columns and select a subset to display. You will then filter the rows to display only those rows that meet a specific condition. Finally, you will sort this list and decorate alternating rows in different colors.

    Introducing JXMonthView!

    XMonthView is a component that displays a monthly calendar, very similar to what you would see in applications such as “Evolution” and “Outlook”.

    JDNC: More For Less

    An update on JDNC, provides an overview of the JDNC problem space and technology.

    Actions Framework

    This article presents an architecture that simplifies the construction and management of Swing's action-based components. The architecture allows you to easily create tool bars, menus, and popup menus from an XML configuration file as well as simplifies the process of connecting these components to your application.

    Introducing JDNC

    This white paper provides an overview for the SwingLabs project named JDNC, aimed at making developers more productive in creating rich, responsive Web-enabled desktop clients using Java SE.

    Putting It All Together

    Blog:  Architecting Applications 3: the Controller

    This is the third blog in a series on architecting applications. In the first blog I discussed the application I'm going to develop, how it would be architected, and briefly went over the model. In the second blog I motivated the need for an Application class that is suitable for typical Swing based Apps, as well as the functionality it should provide. In this third installment I'll go over the role of the controller as used in the MVC architecture. As promised, this blog has a runnable demo.

    Blog:  All hail the PropertyChangeListener

    Often when building an app you need to hook multiple components together so that when one component changes others must do something. When you are building custom components, there's often the temptation to build a custom set of listeners to go along with it. Josh recommends you try property change listeners instead.

    Blog:  Debugging Swing, Part 3

    The long way to find a good solution.

    Blog:  Drag And Drop

    Shannon Hickey introduces new support in Java SE 6 for choosing drop actions in the Swing Drag and Drop API.

    Blog:  Location-Sensitive Drag and Drop in Java SE 6

    Prompted by a question on his recent Swing Drag and Drop blog entry, Shannon Hickey talks about location-sensitive Drag and Drop in Java SE 6.

    Blog:  First Class Drag and Drop Support in Java SE 6

    Shannon Hickey introduces major enhancements to Swing Drag and Drop in Java SE 6, and also recounts his recent once-in-a-lifetime visit to Saint Petersburg, Russia, with pictures from the trip.

    Desktop Java Features in Java SE 6

    Learn about some often-requested features that will be a hit with Java SE 6 programmers: setting file and directory permissions, obtaining disk space, adding components to tabbed pane tabs, as well as the inclusion of the SwingWorker class

    Blog: Architecting Applications 2: the Application class

    This is the second blog in a series on architecting applications. In the first blog Scott discussed the application, how it would be architected, and briefly went over the model. This second blog will motivate the need for an Application class that is suitable for typical Swing based Apps, as well as the functionality it should provide.

    Blog:  Architecting Applications 1: the model

    This is the first of a series of blogs on creating a Swing app, Scott Violet motivates the app, the architecture the app will use, and quickly touches on the model. In addition it will show how easy it is to use beans persistence as a way to save and restore beans.

    Blog:  Debugging Swing, Part 2

    Why automatic dispatching Swing methods to Event Dispatch Thread is "not so good"

    The Next Wave of GUIs: Project Matisse and NetBeans IDE 5.0 Scott Violet and Tomas Pavek discuss Project Matisse, a GUI builder for JFC/Swing technology on the NetBeans IDE that makes Swing development easier than it's ever been.

    Splash Screens & Java SE 6 Learn how to display a high-performance splash screen while your program is loading.

    Blog:  Debugging Swing, Part 1

    Do we need to make it easier,or is it pretty good already?

    Blog:  Changes to Actions in Java SE 6 (Java SE 6) Read up on the changes to Actions in 1.6

    Blog:  WeakReferences and Actions

    In Scott Violet's  last blog  he delved into why one might use Actions. In this article learn how Swing's component support Actions, and why you should know about WeakReferences.

    Blog:  The Usefulness of Actions

    This blog gives an overview of Actions, why you might use them, and covers a bit of the changes to Actions in 1.6

    New Splash-Screen Functionality in Java SE 6

    This Sun Developer Network article by Oleg Semenov and Dana Nourie tells you how to use the Java SE 6 splash screen feature to display a simple window even before the virtual machine starts. The article covers both how to show a splash screen with no code and how to, if you wish, write code that updates the splash screen once the VM has started.

    Blog:  Romain Guy - Synth Subtlety, Style that ComboBox

    Synth is quite often subtle to use. I just spent a couple of hours trying to fix a bug and it appears it was not a bug.

    Accessibility and the Java Access Bridge Assistive technologies are hardware and software solutions that help people with physical impairments interact with computers. Learn more about the built-in Accessibility features in Java SE.

    Thread Handling In Swing Learn how to use Swing components in a threaded environment.

    Timing is Everything This article by Chet Haase covering the basics of using Timers in Java and also adds interesting functionality to the timing facilities

    Asserting Control Over the GUI: Commands, Defaults, and Resource Bundles

    Hans Muller wrote this article about defining Swing application behavior. It's tells how to combine low-level J2SE primitives, such as Actions, ResourceBundles, and UIDefaults, into an action framework that is appropriate for moderately large desktop Java applications

    Using Swing & The Java 2D API To Create Cool User Interfaces

    This article demonstrates the ease of plugging into the Swing paint system, and presents some of the many advanced rendering techniques that are possible with just a few lines of 2D code

    Painting With Fill Objects Details on the Swing paint mechanisms using Java2D

    Using Dynamic Proxies to Generate Event Listeners Dynamically Learn how to generate Action Listeners Dynamically

    アクセシビリティ

    Open all Close all
  • 一覧

    1973 年にリハビリテーション法 (Rehabilitation Act ) 508 条が成立して以来、米国連邦政府機関により 508条に適合する電子・情報技術製品およびサービスの購入が必須となっています。

    アクセシビリティ

    Java テクノロジー開発者にとってアクセシビリティとは、障害をもつ人がソフトウェアを使えるようにするためにアプリケーションにサービスやサポートを組み込むことを意味しています。Java アクセシビリティのテクノロジーは、Java Foundation Classes (JFC) に実装されており、2 つの別々のパッケージ―Java Accessibility APIおよびJava Accessibility Utilitiesで構成されます。

    関連項目

    Java Access Bridge

    Java Access Bridge for the Microsoft Windows Operating System makes it possible for a Windows based Assistive Technology to get at and interact with the Java Accessibility API. The Java Accessibility API is implemented in the Java Foundation Classes (JFC) Project Swing user interface components.

    More

    >
  • Access Bridge

    Java Access Bridge is a technology that exposes the Java Accessibility API in a Microsoft Windows DLL, enabling Java applications and applets that implement the Java Accessibility API to be visible to assistive technologies on Microsoft Windows systems. Java Accessibility API is part of Java Accessibility Utilities, which is a set of utility classes that help assistive technologies provide access to GUI toolkits that implement the Java Accessibility API.

    In order for existing assistive technologies available on Microsoft Windows systems to provide access to Java applications, they need some way to communicate with Java Accessibility Utilities. Java Access Bridge supports this communication.

    An assistive technology application running on Microsoft Windows (for example a screen reader) communicates with Java Access Bridge DLLs, which in turn communicates with the Java Virtual Machine through Java Access Bridge Java libraries. These Java libraries communicate with Java Accessibility Utilities. Java Accessibility Utilities collects information about what is happening in the Java application, which it forwards to the screen reader through Java Access Bridge.

    Java Access Bridge 2.0.2

    Java Access Bridge 2.0.2 fixes multiple bugs, and adds support for 64-bit versions of Windows, and introduces support for Windows 7. See below for a list of supported system configurations, including supported versions of Microsoft Windows and Java SE.

    Note:

    • Third party 64-bit Assistive Technologies may need to be updated in order to use the 64-bit version of Java Access Bridge. Please contact your Assistive Technology vendor to make sure their product supports Java Access Bridge 2.0.2 in 64-bit mode. Java Access Bridge 2.0.2 also includes packages to support 32-bit Windows systems.
    • Java Access Bridge is integrated into Java SE 7 Update 6 and later. Consequently, you only require Java Access Bridge 2.0.2 for Java SE 6 and earlier.

    Download Java Access Bridge 2.0.2

    Resources

    Platform Support

    If you are encountering difficulties using Java Access Bridge (version 2.0.1 and higher), you can log a Service Request with  My Oracle Support .

    Note: to log a Service Request, you must have an active  Java SE Support  contract. If you do not have an active support contract, you can contact Oracle directly at 1-800-633-0738

ツール

Java SE セキュリティ

Java のセキュリティ・テクノロジーには、大規模な API のセットやツールに加えて、普及しているセキュリティ・アルゴリズム、 メカニズム、プロトコルが実装されています。Java セキュリティ API の守備範囲は、暗号化や公開鍵基盤 (PKI)、セキュアなコミュニケーション、認証およびアクセス制御を含む、広範囲な領域にわたります。Java セキュリティ・テクノロジーは、アプリケーション作成のための包括的なセキュリティ・フレームワークを提供するとともに、ユーザーや管理者にセキュリティ強化された管理アプリケーションのツールセットを提供します。

Java SE セキュリティ・ドキュメント Java SE 6 | J2SE 5.0 | J2SE 1.4.2

その他のリソース:  

Java SE セキュリティの概要

Java SE プラットフォームの土台となっているのは、標準に準拠した相互運用可能なダイナミックで拡張性の高いセキュリティ・アーキテクチャです。セキュリティ機能として ? 暗号化、認証、認可、公開鍵基盤などが組み込まれています。Java セキュリティモデルはカスタマイズ可能な「sandbox」をもとにしており、システムやユーザーへのリスクがなく安全に Java プログラムを実行します。

次の表では、各セキュリティの機能をより詳しく紹介し、さらに情報を得るためのリソースにアクセスする参照先を示しています。

セキュリティ機能と現在のリリースにおける詳細については、Java SE 6 Security ドキュメントを参照してください。

上位レベル機能

下位レベル機能

利点

参照

プラットフォーム・セキュリティ

Java コンパイラと仮想マシンで強化された組み込みの言語セキュリティ機能:

  • 強固なデータ入力

  • 自動メモリ管理

  • バイトコード検証

  • セキュアなクラス読込み

アプリケーションの開発と実行のための、安全で、セキュリティが保護されたプラットフォームを提供します。コンパイル時データタイプチェックと自動メモリ管理によってコードはより強化され、メモリの障害や脆弱性を低減することができます。バイトコード検証によって、コードが JVM 仕様に準拠していることが保証されるため、好ましくないコードによる実行時環境の破壊を回避することができます。クラス読込みは、信頼できないコードが他の Java プログラムの実行を妨害しないようにします。

暗号方式

  • デジタル署名、メッセージ・ダイジェスト、暗号化 (対称、非対称、ストリーム、ブロック)、メッセージ認証コード、キージェネレータ、キーファクトリを含む、広範囲な暗号化サービスをサポートする包括的な API。

  • RSA、DSA、AES、トリプル DES、SHA、PKCS#5、RC2、および RC4 を含む広範囲なアルゴリズムのサポート。

  • PKCS#11 暗号化トークンのサポート

セキュアなアプリケーションを構築するための拡張性の高い多機能な API を提供します:

  • アルゴリズムや実装には非依存です

  • プロバイダベース (プラグイン可能な) アーキテクチャ

認証とアクセス制御

  • 抽象認証 API は、プラグイン可能なアーキテクチャによって、広範囲なログインメカニズムを利用できるようにします。

  • 包括的なポリシーとパーミッション API は、開発者がセキュリティ上重要なリソースにきめ細かにアクセスできるアプリケーションを作成し、管理することを可能にします。

マルチ認証メカニズムのシングルサインオンと、ユーザーまたはコード署名者の ID をもとに、リソースにアクセスできるようにします。タイムスタンプによる署名の最近のサポート (JDK 5) では、署名者の証明期限が切れたときに再度署名する必要がないように、署名のコード配備を簡単にできるようにしています。

 

セキュリティ保護されたコミュニケーション

以下の標準ベースのセキュア・コミュニケーション・プロトコルの API および実装: TLS (Transport Layer Security )、 SSL (Secure Sockets Layer )、 Kerberos (GSS-API を通じてアクセス可能) およびSASL (Simple Authentication and Security Layer )。SSL/TLS 通信 のHTTPS フルサポートも含まれます。

認証は、信頼できないネットワークを監視し、データ転送の際にファイルを健全に保ち、プライバシーを保護します。

公開鍵基盤 (PKI)

鍵と証明書を管理するツールと、以下の機能とアルゴリズムをサポートする包括的な抽象 API:

  • 証明書と証明書失効リスト(CRL): X.509

  • 証明書 Path Validator と Builder: PKIX (RFC 3280)、On-line Certificate Status Protocol (OCSP)

  • キーストア (KeyStore): PKCS#11、PKCS#12

  • 証明書ストア (リポジトリ): LDAP、java.util.Collection

複雑な PKI アプリケーションの開発と配備を容易にします。OCSP に対する最近のサポート(JDK 5) では、アプリケーションが証明書失効の状態をよりスケーラブルでタイミングよく確認できるようなメソッドを提供しています。

ava SE には、プログラム開発とデバッグ、および開発したアプリケーションの監視とトラブル・シューティングを補助するいくつかのツールが含まれています。ツールには以下のものがあります。

  • apt アノテーション処理ツール
  • javac Java からバイトコードへのコンパイラ
  • jvisualvm Java VisualVMオールインワンのグラフィカルで拡張性の高いトラブル・シューティング・ツール
  • jconsole Java SE 監視と管理アプリケーション
  • jinfo、jps、jstack、jmap、およびjstat  Java プログラムの実行動作を監視するツール

CORBA、RMI、およびセキュリティ管理用のツールなども含まれています。

Java SE ツールの ドキュメント

すべてのツールに関するドキュメントはJava SE Tools ドキュメントで参照することができます。また、メモリの問題、デッドロック、クラッシュに関するデバッグ手法については Java SE トラブル・シューティング・ページ を参照してください。

Sun Developer Tools / NetBeans IDE

Java SE ツールに加えて、高い評価を受けているSun Developer ToolsおよびNetBeans IDEを使用することで、Java プログラム開発はさらに容易になります。

Java SE ブログ と Java テクノロジー・フォーラム

プログラム開発とトラブル・シューティングに関するヘルプが参照できるサイトは Java SE ブログ と Java テクノロジー・フォーラム です。

開発者サポート

問題が発生したときのためにサンではいくつかのレベルで開発者サポートを提供しています。

バグデータベース

Java SE では、膨大なテストを繰り返して品質向上に努めていますが、それでもバグは存在します。既知の問題を検索したい場合や、新しいバグをレポートするにはバグデータベースWeb サイトをご活用ください。

Web サービスは、クライアントとデータを交換するためにオープンな XML ベース標準およびトランスポート・プロトコルを使用する、Web ベースのエンタープライズ・アプリケーションです。

Java SE 6 で提供される Web サービスのための Java テクノロジー API を示します:

名称 バージョン パッケージ 詳細情報
Java API for XML Web Services (JAXWS) 2.1 javax.xml.ws JAXWS ホームページ
Java Architecture for XML Binding (JAXB) 2.1 javax.xml.bind JAXB ガイド
SOAP with Attachments API for Java (SAAJ) 1.3 javax.xml.soap SAAJ ホームページ
Java Web Services Metadata (JSR 181) 2.0 javax.jws JSR 181

これらの API は、J2SE 1.4.2 および J2SE 5.0 とは別にJava Web サービス・ホームページからダウンロード可能です。また、 Project GlassFish の、オープンソース Java EE 5 準拠のアプリケーション・サーバーにも含まれています。

Java SE 6 にはWeb サービスを作成するための補助となるコマンドライン・ツールも含まれています。詳細についてはWeb サービスツールを参照してください。

関連項目:  

フィードバックをusers@jax-ws.dev.java.net宛にお送りください。