第六回JavaFX 200 UIコントロール

6571 ワード

原文の住所http://download.oracle.com/javafx/2.0/ui_controls/overview.hm
 
 
JavaFXコントロールはAPIを通じて場面図形において結点を使用して構築されているので、javaFXプラットフォームの視覚的特徴を利用することができる.javaFX APIはJava言語で完全に実現されるので、JavaFX UIコントロールを既存のJavaアプリケーションに簡単に統合することができる.
JavaFX 2.0でサポートされているUIコントロール
UIコントロールの構造クラスはAPI javafx.scene.controlパケット中にある.
コントロールリストには、Javaを用いてクライアントアプリケーションを開発する典型的なUIコンポーネントが含まれています.しかし、JavaFX 2.0 SDKは、TitledPane TableViewなどの新しいJava UIコントロールを導入した.
Figre 1-1はスクリーンショットで、3つのTitledPane要素と1つの社交タイプリストがあり、リストはスライドとスライディングができます.
Figure 1-1 Titled Panes
Description of「Figre 1-1 Titled Panes」
すべてのUIコントロールはAPIドキュメントから見られます.
UIコントロールクラスは、Controlクラスよりも多くの変数と方法を提供し、典型的なユーザーインタラクションを直感的にサポートすることができる.積層パターンテーブル(CSS)を使って、あなたのUIコンポーネントのための特別なスタイルを設計することができます.いくつかの個別のタスクについては、Controlクラスを継承してカスタマイズされたUIコンポーネントを作成するか、またはSkinインターフェースを使用して既存のコントロールのために新しい肌を定義するかもしれない.
サンプルのEnsembileアプリケーションからコントロールの範囲、それらの行為、実現可能なスタイルを調べてみます.
特性と効果javafx.scene.control UIコントロールは、Nodeクラスを継承しているので、シーンパターンのレンダリング、アニメーション、変換、およびアニメーションと過剰に統合することができる.
イメージを追加して時間線で透明度を変更してフラッシュさせるボタンを作成することを考慮します.
Figure 1-2は、このボタンの3つの異なる時間ラインの状態を示している.左の画像は 1.0 で、中間の画像は不透明度0.8 , 0.5 142です.
Figure 1-2 Animed Button
Description of「Figure 1-2 Animed Button」
JavaFX APIを使用することで、少量のコードだけでこのタスクを実現することができます.
Example 1-1は、無限の時間線を作成し、600ミリ秒のキーフレーム設定ボタンの不透明度がデフォルト値(1.0)から0.0に変化することを開始した.setAutoReverseは、時間線が自動的に逆方向になるようにする.
Example 1-1 Creating an Animed Button
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.util.Duration;
import javafx.scene.control.Button;
import javafx.scene.text.Font;
import javafx.scene.effect.Reflection;

...
Button button = new Button();
    button.setText("OK");
    button.setFont(new Font("Tahoma", 24));
    button.setEffect(new Reflection());
 
final Timeline timeline = new Timeline();
timeline.setCycleCount(Timeline.INDEFINITE);
timeline.setAutoReverse(true);
final KeyValue kv = new KeyValue(button.opacityProperty(), 0);
final KeyFrame kf = new KeyFrame(Duration.millis(600), kv);
timeline.getKeyFrames().add(kf);
timeline.play();
...
javafx.scene.effectバッグの中の他の効果も適用できます.例えば、show、lighting、またはmotion blurです.
UIコントロールにCSS装飾を追加します.
自分のCascading Style Sheets(CSS)を定義することにより、ビルドされたUIコントロールをカスタマイズすることができます.JavaFXアプリケーションではCSSを使ってHTMLで使われています.同じCSS仕様に従わなければならないからです.コントロールの視覚効果は.cssファイルによって定義され,コードExample 1-2.
Example 1-2 Defining Steyle for UI Controls in the CSS File
/*controlStyle.css */
 
.scene{
    -fx-font: 14pt "Cambria Bold";
    -fx-color: #e79423;
    -fx-background: #67644e;
}
 
.button{
    -fx-text-fill: #006464;
    -fx-background-color: #e79423;
    -fx-border-radius: 20;
    -fx-background-radius: 20;
    -fx-padding: 5;
}
この効果はSceneクラスのgetStylesheets方法によって適用され得る.Example 1-3を参照してください.
Example 1-3 Appplying CSS
Scene scene = new Scene();
scene.getStylesheets().add("uicontrolssample/controlStyle.css");
//   :    css   ,            ,    css     。
また、setStyle 。 Example 1-4-fx-base属性を使用してシーンに追加された二重モードボタンとして定義することで、CSSファイルに対応する属性を書き換えることができる.
Example 1-4 Defining the Style of a Togle Buton in the JavaFX Appliation
ToggleButton tb3 = new ToggleButton ("I don't know");
tb3.setStyle("-fx-base: #ed1c24;");
Figre 1-3は、二状態ボタンの効果を示している.
 
Figure 1-3 Appplying CSS Style to a Togle Buton
Description of「Figre 1-3 Apple ing CSSスタイルto a Togle Button」
 
グラフ
典型的な要素をユーザインターフェースに提供することに加えて、JavaFX SDKはjavafx.scene.chart にプリセットチャートを提供する.以下のグラフはもうサポートできます.ara chart、bar chart、bubble chart、line chart、pie chart、and scater chart.一つのグラフにはいくつかの系のデータが含まれます.
Figure 1-4は輸入果物の円グラフです.
 
Figure 1-4 Pie Chart
Description of「Figure 1-4 Pie Chart」
 
他のJavaクライアントツールとは違って、JavaFX SDKを使って、アプリケーションにコードをいくつか追加するだけで、このようなグラフが構築されます.また、一連のカラーテーブルとスタイルを定義し、視覚効果を応用し、マウスイベントを処理し、アニメーションを作成することもできます.
Using JavaFX Chartsによって、より多くのグラフ特性および機能情報が理解される.
 
JavaFX 2.0 UIコントロールとSwingを統合する.
JavaFX UIコントロールは、既存のSwingで構築されたJavaクライアントアプリケーションに統合され得る.
JavaFXコンテンツとSwingを統合するには、以下のステップをインストールしてください.
  • は、JavaFX UIコントロールを1つずつjavafx.scene.Sceneオブジェクトのレイアウトコンテナに追加します.例えば、group.
  • は、SceneオブジェクトをSwingアプリケーションに参加させる.
  • JavaFX 2.0コントロールを既存のSwingコードに追加しても上の二つのステップを行います.
    これらはSwingプログラムに統合されているにもかかわらず、JavaFX 2.0 UIコントロールは依然として菱鏡グラフィックスライブラリによってレンダリングされ、すべての高級レンダリング能力を持つ.
    第七回に行って、より多くの2つの統合情報を知る.