ここに示す Java テクノロジーとアプリケーション・プログラミング・インタフェース (API) は、Java Platform, Standard Edition (Java SE) の基本技術です。ユーザーがサーバー・アプリケーションやデスクトップ・アプリケーション、アプレットを作成する場合に、Linux、Macintosh、Solaris、Windows を含むほぼすべてのポピュラーなOSで動作に必要となる機能を提供します。 » さらに詳しく読む
プログラミングガイドまたはドキュメントを参照する場合は、上記の図内の各テクノロジーをクリックしてください。また、以下のリンクから、それぞれのテクノロジーの中核となるページがある場合はそのページに、またはドキュメントが提供されている場合はドキュメントを参照することができます。
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 クラスライブラリに要求を出し、利用可能な機能を使えるようにする作法を定義しています(Java SE クラスライブラリは Java SE プラットフォームの一部でもあります)。
Java SE API は、コアテクノロジー 、Desktop (またはクライアント) テクノロジー、およびその他のテクノロジーで構成されます。
Java 仮想マシンは、ハードウェアやOSに依存しない Java SE プラットフォームを提供し、コンパイルされたコード (バイトコード) のサイズ効率、およびプラットフォーム・セキュリティに寄与します。
Java SE プラットフォームは、統合開発環境 (IDE)、パフォーマンスとテストツール、およびパフォーマンス監視ツールを含む一連のツールとも連動します。
コア Java テクノロジーとアプリケーション・プログラミング・インタフェース(API) は、Java Platform, Standard Edition (Java SE)の基本です。これらは、 デスクトップ・アプリケーションから、Java EEアプリケーションまで、Java プログラミングのすべてのクラスで用いられます。Java SEで提供されるテクノロジーに関する情報は、他のタブをクリックしてください。
ヒント:経験のあるプログラマーは、コンポーネントのドキュメントをすばやく得ることができます。
ドキュメント・ダイアグラムをクリックしてみてください。以前のリリース( J2SE 1.3.1, J2SE 1.4.2, J2SE 5.0)に関するドキュメント・パッケージもご覧いただけます。
関連情報
このWebサイトでは、"Java 仮想マシン" または "JVM" は、Java プラットフォームの仮想マシンを意味します。
Java SE contains a rich set of APIs that enable developers to create sophisticated applications. They provide both fundamental system level support as well as more complex functionality such as multi-threaded programming and object manipulation on remote hosts. Information on the basic technologies can be found here:
Java SE 8 | Java SE 7 | Java SE 6 | J2SE 5.0 | J2SE 1.4.2
See Also:
The CORBA (Common Object Request Broker Architecture) implementation in the Java platform provides standards-based interoperability and connectivity. Java IDL enables distributed Web-enabled Java applications to transparently invoke operations on remote network services using the industry standard OMG IDL (Object Management Group Interface Definition Language) and IIOP (Internet Inter-ORB Protocol).
Note to CORBA Developers:
Java IDL technology is for CORBA programmers who want to program in the Java programming language based on interfaces defined in CORBA Interface Definition Language (IDL). This is "business as usual" CORBA programming, supporting Java technology in exactly the same way as other languages such as C++ or COBOL.
Java SE CORBA Documentation: Java SE 8 | Java SE 7 | Java SE 6 | J2SE 5.0 | J2SE 1.4.2
In addtion to Java IDL, Java SE also supports Java Remote Method Invocation over Internet Inter-ORB Protocol technology ("RMI-IIOP") This technology provides the ability to write CORBA applications for the Java platform without learning CORBA Interface Definition Language (IDL).
Java RMI-IIOP Documentation: Java SE 8 | Java SE 7 | Java SE 6 | J2SE 5.0 | J2SE 1.4.2
RMI over IIOP is based on two specifications of the Object Management Group:
See Also:
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications based on Java technology with a unified interface to multiple naming and directory services. You can build powerful and portable directory-enabled applications using this industry standard.
Naming and directory services play a vital role in intranets and the Internet by providing network-wide sharing of a variety of information about users, machines, networks, services, and applications.
JNDI and Java EE Technologies
JNDI works in concert with other technologies in the Java Platform, Enterprise Edition (Java EE) to organize and locate components in a distributed computing environment.
JNDI Documentation: Java SE 8 | Java SE 7 | Java SE 6 | J2SE 5.0 | J2SE 1.4.2
Starting with release 5.0, Java SE provides a comprehensive solution for monitoring and managing your applications, as well as for monitoring and managing the Java Virtual Machine.
Monitoring and Management Documentation: J2SE 5.0 | Java SE 6
Java Management Extensions(JMX) Documentation: J2SE 5.0 | Java SE 6
See Also:
Java SE contains several APIs that can be used by tools such as compilers, debuggers, profilers, and monitoring & management tools.
| Javadoc doclets and taglets | J2SE 5.0 | Java SE 6 | Java SE 7 |
Java SE 8 |
| Native Tools Interface | J2SE 5.0 | Java SE 6 | Java SE 7 |
Java SE 8 |
| Debugging Interfaces | J2SE 5.0 | Java SE 6 | Java SE 7 |
Java SE 8 |
| Byte Code Instrumentation | J2SE 5.0 | Java SE 6 | Java SE 7 |
Java SE 8 |
| Monitoring and Management | J2SE 5.0 | Java SE 6 | Java SE 7 |
Java SE 8 |
| Scripting For the Java Platform | Java SE 6 | Java SE 7 |
Java SE 8 | |
| Standard Annotations | Java SE 6 | Java SE 7 |
Java SE 8 | |
| Compiler Interfaces | Java SE 6 | Java SE 7 |
Java SE 8 | |
| Dynamic Attach Interface | Java SE 6 | Java SE 7 |
Java SE 8 |
See Also:
The XML technology in Java SE supports the W3C DOM APIs, parsing of XML documents, and transforming XML documents via XSLT.
XML Documentation: Java SE 8 | Java SE 7 | Java SE 6 | J2SE 5.0 | J2SE 1.4.2
See Also:
Java DB はサンがサポートする、オープンソースの Apache Derbyデータベースの ディストリビューションです。容易に使うことができ、標準に準拠したフル機能のセットなので、少しの作業で Java 開発者にとって理想的なデータベースを構築することができます。Java DB は Java プログラミング言語で記述されており、「一度書けばどこでも実行できる (write once, run anywhere)」の理念のとおり、高いポータビリティを提供します。開発者やユーザーによる管理が不要で、 Java アプリケーションに組み込むことができます。また、クライアント・サーバーモードで使用することも可能です。Java DB は完全なトランザクション機能をもち、標準 SQL インタフェースおよび JDBC 4.0 準拠ドライバを提供します。
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 についてさらに読む
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 Java テクノロジーは、すばやい処理が可能な、セキュアで可搬性のあるリッチなクライアント・アプリケーションおよびアプレットを作成するために使用されます。このページでは、これらすべてのテクノロジーについて説明しています。
ほとんどのテクノロジーは Java SE (Java Runtime Environment - JRE としても知られています) の一部として含まれており、さまざまな OS の 90% 以上のデスクトップ・システムにプリインストールされています。その他の Desktop Java テクノロジーは、別の Java 拡張としてダウンロード可能なファイルとして入手するか、java.net からオープンソース・プロジェクトとして入手できます。最終的に、NetBeans IDE の統合 GUI ビルダ機能によりすべてをまとめることができるため、デスクトップ・アプリケーションを簡単に構築することができます。
クライアント・アプリケーション開発者のための最新の情報については、 JavaDesktop.org の java.net のコミュニティを参照してください。
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 3DPH*PH*PHuFFFDPH*PH*PH API は、ビルド、描画、3D オブジェクトとビジュアル環境の動作を制御するための、シンプルで高レベルなプログラミングモデルのオブジェクト指向のインタフェースのセットを提供します。Java 3D API を使用すると、高品質で、スケーラブルなプラットフォーム非依存 3D グラフィックスを Java テクノロジーをベースにしたアプリケーションやアプレットに取り込むことができます。 さらに読む
» Java 3D のダウンロード
Distributed through project java3d
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 API は、イメージを容易に操作できるようにするための、シンプルで高レベルなプログラミングモデルをサポートするオブジェクト指向インタフェースのセットを提供します。 さらに読む
オプションの Java SE API
Abstract Window Toolkit (AWT) は、グラフィカル・ユーザー・インタフェース (GUI) プログラミングをサポートします。AWTは Java SE デスクトップ・ライブラリのコア基盤の特長を利用しています。強力なイベントハンドル・モデルとして、形、色、フォントクラスを処理するグラフィックスと画像処理ツール、ウィンドウのレイアウトを柔軟に管理するレイアウト・マネージャ、ネイティブ・プラットフォームのクリップボードを介したカット&ペーストをおこなうデータ転送クラス (ドラッグ&ドロップを含む) などが含まれています。AWT には、ウィンドウ、ボタンなどのユーザー・インタフェース・コンポーネントの基本セットも含まれています。Swing は AWT の上位に構築されており、多くの場合 AWT のコンポーネントよりも Swing の上位レベルコンポーネントの使用が推奨されます。ただし、Swing におけるプログラミングでは、AWT の API を理解しておくことも重要です。 さらに読む
Java SE プラットフォームに含まれる
国際化は、ソフトウェアをさまざまな言語や地域に適合 (ローカライズ) させるためのデザインのプロセスであり、簡単にコスト効率よく実行すること、とくにソフトウェアの技術的な変更をせずにおこなうことが求められます。ローカライズ版には単に、翻訳されたテキスト、地域特有の動作を記述したデータ、フォント、入力方式など、地域に固有のコンポーネントを追加していきます。Java 2 Platform では、言語や文化に依存する動作を提供するクラスやパッケージの国際化サポートが完全に統合されています。 さらに読む
Java SE プラットフォームに含まれる
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 プラットフォームをサポートしていることを伝えてください。ユーザーが最新版をダウンロードできるようにします (詳細)。
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 .
![]() |
||||||||
| • 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 | ||||
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.
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.
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.
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.
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: 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.
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.
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.
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.
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
1973 年にリハビリテーション法 (Rehabilitation Act ) 508 条が成立して以来、米国連邦政府機関により 508条に適合する電子・情報技術製品およびサービスの購入が必須となっています。
Java テクノロジー開発者にとってアクセシビリティとは、障害をもつ人がソフトウェアを使えるようにするためにアプリケーションにサービスやサポートを組み込むことを意味しています。Java アクセシビリティのテクノロジーは、Java Foundation Classes (JFC) に実装されており、2 つの別々のパッケージ―Java Accessibility APIおよびJava Accessibility Utilitiesで構成されます。
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.
>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 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:
Download Java Access Bridge 2.0.2
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 のセキュリティ・テクノロジーには、大規模な API のセットやツールに加えて、普及しているセキュリティ・アルゴリズム、 メカニズム、プロトコルが実装されています。Java セキュリティ API の守備範囲は、暗号化や公開鍵基盤 (PKI)、セキュアなコミュニケーション、認証およびアクセス制御を含む、広範囲な領域にわたります。Java セキュリティ・テクノロジーは、アプリケーション作成のための包括的なセキュリティ・フレームワークを提供するとともに、ユーザーや管理者にセキュリティ強化された管理アプリケーションのツールセットを提供します。
Java SE セキュリティ・ドキュメント Java SE 6 | J2SE 5.0 | J2SE 1.4.2
その他のリソース:
Java SE プラットフォームの土台となっているのは、標準に準拠した相互運用可能なダイナミックで拡張性の高いセキュリティ・アーキテクチャです。セキュリティ機能として ? 暗号化、認証、認可、公開鍵基盤などが組み込まれています。Java セキュリティモデルはカスタマイズ可能な「sandbox」をもとにしており、システムやユーザーへのリスクがなく安全に Java プログラムを実行します。
次の表では、各セキュリティの機能をより詳しく紹介し、さらに情報を得るためのリソースにアクセスする参照先を示しています。
セキュリティ機能と現在のリリースにおける詳細については、Java SE 6 Security ドキュメントを参照してください。
上位レベル機能 |
下位レベル機能 |
利点 |
参照 |
|---|---|---|---|
プラットフォーム・セキュリティ |
Java コンパイラと仮想マシンで強化された組み込みの言語セキュリティ機能:
|
アプリケーションの開発と実行のための、安全で、セキュリティが保護されたプラットフォームを提供します。コンパイル時データタイプチェックと自動メモリ管理によってコードはより強化され、メモリの障害や脆弱性を低減することができます。バイトコード検証によって、コードが JVM 仕様に準拠していることが保証されるため、好ましくないコードによる実行時環境の破壊を回避することができます。クラス読込みは、信頼できないコードが他の Java プログラムの実行を妨害しないようにします。 |
|
暗号方式 |
|
セキュアなアプリケーションを構築するための拡張性の高い多機能な 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:
|
複雑な PKI アプリケーションの開発と配備を容易にします。OCSP に対する最近のサポート(JDK 5) では、アプリケーションが証明書失効の状態をよりスケーラブルでタイミングよく確認できるようなメソッドを提供しています。 |
ava SE には、プログラム開発とデバッグ、および開発したアプリケーションの監視とトラブル・シューティングを補助するいくつかのツールが含まれています。ツールには以下のものがあります。
CORBA、RMI、およびセキュリティ管理用のツールなども含まれています。
すべてのツールに関するドキュメントはJava SE Tools ドキュメントで参照することができます。また、メモリの問題、デッドロック、クラッシュに関するデバッグ手法については Java SE トラブル・シューティング・ページ を参照してください。
Java SE ツールに加えて、高い評価を受けているSun Developer ToolsおよびNetBeans IDEを使用することで、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宛にお送りください。