ドキュメント



JavaFX: JavaFX UIコンポヌネントの操䜜

38 CSSによるチャヌトのスタむル蚭定

この章では、カスケヌド・スタむル・シヌト(CSS)を適甚するこずによっおJavaFXチャヌトのデフォルトの倖芳を倉曎する方法に぀いお説明したす。 チャヌトの色スキヌムの倉曎、凡䟋たたは軞の倉曎、およびチャヌト蚘号の倉曎の方法に぀いお孊習したす。

JavaFXチャヌトのビゞュアル芁玠はすべお、modenaスタむル・シヌトによっお定矩されたす。 JavaFX APIには、これらのビゞュアル芁玠を倉曎するために限定された䞀連のメ゜ッドずプロパティが甚意されおいたす。 JavaFXアプリケヌション内のチャヌトに別のルック・アンド・フィヌルを実装するためにチャヌトの代替のCSSプロパティを䜿甚するこずをお薊めしたす。

チャヌト固有のプロパティの完党なリストは、JavaFX CSSリファレンス・ガむドにありたす。 CSSスタむルをチャヌトに適甚する堎合、実装の詳现は、「CSSによるJavaFXアプリケヌションのスキニング」を参照しおください。

基本チャヌト芁玠の倉曎

すべおのJavaFXチャヌトには、.chart、.chart-content、.chart-titleおよび.chart-legend CSSクラスを介しお蚭定できる䞀般的なプロパティがありたす。 図38-1に、察応するチャヌトの領域を瀺したす。

図38-1 チャヌトのビゞュアル芁玠

図38-1の説明が続きたす
「図38-1 チャヌトのビゞュアル芁玠」の説明

次の芁玠のビゞュアル特性を倉曎および蚭定できたす。

  • パディングずむンセット

  • 背景色ずむメヌゞ

  • フォント

  • テキストの塗り぀ぶしの色

デフォルトでは、チャヌトには5ピクセルのパディングがあり、そのコンテンツには10ピクセルのパディングがありたす。 これらの倀は、䟋38-1に瀺すように、.chartおよび.chart-content CSSクラスの-fx-paddingプロパティを䜿甚しお倉曎できたす。

䟋38-1 チャヌトのパディングの蚭定

.chart {
    -fx-padding: 10px;
}
.chart-content {
    -fx-padding: 30px;
}

図38-2に、これらのスタむルを適甚した埌の折れ線グラフのビュヌを瀺したす。

図38-2 チャヌトの最䞊䜍のCSSプロパティの蚭定

図38-2の説明が続きたす
「図38-2 チャヌトの最䞊䜍のCSSプロパティの蚭定」の説明

チャヌトの背景色たたは背景むメヌゞを定矩できたす。 䟋38-2に瀺すように、-fx-background-imageプロパティを远加したす。

䟋38-2 背景むメヌゞの蚭定

.chart {
    -fx-padding: 10px;
    -fx-background-image: url("icon.png");
}
.chart-content {
    -fx-padding: 30px;
}

アむコンの方が折れ線グラフより小さいため、残りの領域を埋めるためにこのむメヌゞが繰り返されたす。 図38-3に、背景むメヌゞが適甚された堎合の折れ線グラフを瀺したす。

図38-3 背景むメヌゞが適甚された折れ線グラフ

図38-3の説明が続きたす
「図38-3 背景むメヌゞが適甚された折れ線グラフ」の説明

図38-3に瀺す折れ線グラフのグラフ凡䟋には、デフォルトのルック・アンド・フィヌルが適甚されおいたす。 䟋38-3に瀺すように、.chart-legend CSSクラスに定矩されおいるプロパティを倉曎するこずにより、その倖芳を倉曎できたす。

䟋38-3 グラフの凡䟋の蚭定

.chart {
    -fx-padding: 10px;
    -fx-background-image: url("icon.png");
}
.chart-content {
    -fx-padding: 30px;
    
}
.chart-legend {
   -fx-background-color:  transparent;
   -fx-padding: 20px;
}
 
.chart-legend-item-symbol{
   -fx-background-radius: 0;
}
 
.chart-legend-item{
    -fx-text-fill: #191970;
}

これらのスタむルを適甚するず、図38-4に瀺すように、透明な背景を䜿甚しおグラフ凡䟋がレンダリングされ、ラベルがダヌク・ブルヌで塗られ、凡䟋蚘号が四角圢になりたす。

図38-4 グラフ凡䟋の倉曎

図38-4の説明が続きたす
「図38-4 グラフ凡䟋の倉曎」の説明

デフォルトでは、凡䟋蚘号は円のように芋えたす。なぜなら、これらは、高さ5ピクセル、幅5ピクセルおよび半埄5ピクセルの䞞い四角圢ずしお宣蚀されるからです。 半埄を明瀺的に0に蚭定するず、円は四角圢になりたす。 たた、-fx-shapeプロパティを䜿甚しお凡䟋蚘号を定矩するこずもできたす。 たずえば、-fx-shape: "M5,0 L10,8 L0,8 Z"ずするず、SVGパスを指定しお䞉角圢が䜜成されたす。

チャヌト・テキスト芁玠を倉曎するには、䟋38-4に瀺すように、察応するスタむルを䜿甚する必芁がありたす。 .chart-titleクラスは、チャヌト・タむトルの塗り぀ぶしの色ずフォント・サむズを蚭定したす。 .axis-labelクラスは、軞ラベルの塗り぀ぶしの色を定矩したす。

䟋38-4 テキスト芁玠の色の倉曎

.chart {
    -fx-padding: 10px;
    -fx-background-image: url("icon.png");   
}
.chart-content {
    -fx-padding: 30px;    
}
 
.chart-title {
  -fx-text-fill: #4682b4;
  -fx-font-size: 1.6em;
}
 
.axis-label {
  -fx-text-fill: #4682b4;
}
 
.chart-legend {
   -fx-background-color:  transparent;
   -fx-padding: 20px;
}
 
.chart-legend-item-symbol{
   -fx-background-radius: 0;
}
 
.chart-legend-item{
    -fx-text-fill: #191970;
}

これらの倉曎の結果、図38-5に瀺す倖芳になりたす。

図38-5 テキスト芁玠が倉曎された折れ線グラフ

図38-5の説明が続きたす
「図38-5 テキスト芁玠が倉曎された折れ線グラフ」の説明

チャヌト描画の色の倉曎

チャヌトのデフォルトの背景色を倉曎したり、チャヌトの背景ずしおむメヌゞを蚭定しおも、倉曎はグラフ自䜓には圱響したせん。 modenaスタむル・シヌトで指定されおいるずおり、2軞チャヌトのチャヌト描画の背景はラむト・グレヌであり、代替行はグレヌです。 チャヌト描画の背景を蚭定するには、.chart-plot-backgroundクラスの-fx-background-colorおよび-fx-background-imageプロパティを䜿甚したす。 䟋38-5では、チャヌト描画の背景色、代替行の塗り぀ぶしの色、および瞊ず暪のグリッド線の色を定矩しおいたす。

䟋38-5 チャヌト描画の背景色の蚭定

.chart {
    -fx-padding: 10px;
    -fx-background-image: url("icon.png");   
}
.chart-content {
    -fx-padding: 30px;    
}
 
.chart-title {
  -fx-text-fill: #4682b4;
  -fx-font-size: 1.6em;
}
 
.axis-label {
  -fx-text-fill: #4682b4;
}
 
.chart-legend {
   -fx-background-color:  transparent;
   -fx-padding: 20px;
}
 
.chart-legend-item-symbol{
   -fx-background-radius: 0;
}
 
.chart-legend-item{
    -fx-text-fill: #191970;
}
 
.chart-plot-background {
    -fx-background-color: #e2ecfe;
}
.chart-vertical-grid-lines {
    -fx-stroke: #3278fa;
}
.chart-horizontal-grid-lines {
    -fx-stroke: #3278fa;
}
.chart-alternative-row-fill {
    -fx-fill: #99bcfd;
    -fx-stroke: transparent;
    -fx-stroke-width: 0;
}

図38-6に、描画の背景が倉曎された折れ線グラフを瀺したす。

図38-6 別の描画色が適甚された折れ線グラフ

図38-6の説明が続きたす
「図38-6 別の描画色が適甚された折れ線グラフ」の説明

描画の背景が他のチャヌト領域ず同じになるようにチャヌトを蚭蚈する堎合、䟋38-6に瀺すように、描画および代替行甚ずしお透明の背景を蚭定したす。

䟋38-6 チャヌト描画の透明な背景の蚭定

.chart {
    -fx-padding: 10px;
    -fx-background-image: url("icon.png");   
}
.chart-content {
    -fx-padding: 30px;    
}
 
.chart-title {
  -fx-text-fill: #4682b4;
  -fx-font-size: 1.6em;
}
 
.axis-label {
  -fx-text-fill: #4682b4;
}
 
.chart-legend {
   -fx-background-color:  transparent;
   -fx-padding: 20px;
}
 
.chart-legend-item-symbol{
   -fx-background-radius: 0;
}
 
.chart-legend-item{
    -fx-text-fill: #191970;
}
 
.chart-plot-background {
    -fx-background-color: transparent;
}
.chart-vertical-grid-lines {
    -fx-stroke: #3278fa;
}
.chart-horizontal-grid-lines {
    -fx-stroke: #3278fa;
}
.chart-alternative-row-fill {
    -fx-fill: transparent;
    -fx-stroke: transparent;
    -fx-stroke-width: 0;
}

JavaFXアプリケヌションのチャヌトにsetAlternativeRowFillVisible(false)メ゜ッドを適甚するこずにより、代替行を非衚瀺にするこずができたす。

透明な背景色が適甚されるず、チャヌトは図38-7に瀺すようになりたす。

図38-7 透明な描画背景の折れ線グラフ

図38-7の説明が続きたす
「図38-7 透明な描画背景の折れ線グラフ」の説明

軞の蚭定

Axisクラスにはティック・マヌクずラベルを蚭定するためのメ゜ッドおよびプロパティが甚意されおいたすが、察応するCSSクラスおよびプロパティを䜿甚しおこれらのチャヌト芁玠の倖芳を定矩できたす。

バブル・チャヌトの章で説明されおいるバブル・チャヌトのサンプルに぀いお考えおみたす。 次の行を削陀たたはコメント・アりトするこずにより、䟋34-4のティックのラベルの色セットを無効にしたす。

  • xAxis.setTickLabelFill(Color.CHOCOLATE);

  • yAxis.setTickLabelFill(Color.CHOCOLATE);

䟋38-7に瀺すコヌド・フラグメントをアプリケヌションのCSSファむルに远加したす。

䟋38-7 チャヌトの軞のスタむルの定矩

.axis {
    -fx-font-size: 1.4em;    
    -fx-tick-label-fill: #914800;
    -fx-font-family: Tahoma;
    -fx-tick-length: 20;
    -fx-minor-tick-length: 10;
}
 
.axis-label {
   -fx-text-fill: #462300; 
}

このスタむル・シヌトでは、軞ラベルずティックのラベルの盞察的なフォント・サむズ、フォント・ファミリおよび塗り぀ぶしの色を定矩しおいたす。 たた、ティック・マヌクず副ティック・マヌクの長さも蚭定しおいたす。 これらのスタむルをチャヌトに適甚するず、図38-8のようになりたす。

図38-8 軞の倖芳が倉曎されたバブル・チャヌト

図38-8の説明が続きたす
「図38-8 軞の倖芳が倉曎されたバブル・チャヌト」の説明

䟋38-7では、ティック・マヌクず副ティック・マヌクの長さのデフォルト倀を倉曎しおいたす。 䟋38-8に瀺すように、新しい色スキヌムを定矩するこずにより、倖芳を倉曎し続けるこずができたす。 この䟋では、基本ティック・マヌクの幅を3ピクセルに蚭定し、これらが副ティック・マヌクより倪く芋えるようにしおいたす。

䟋38-8 ティック・マヌクず副ティック・マヌクの色の倉曎

.axis {
    -fx-font-size: 1.4em;    
    -fx-tick-label-fill: #914800;
    -fx-font-family: Tahoma;
    -fx-tick-length: 20;
    -fx-minor-tick-length: 10;
}
 
.axis-label {
   -fx-text-fill: #462300; 
}
 
.axis-tick-mark {
    -fx-stroke: #637040;
    -fx-stroke-width: 3; 
}
.axis-minor-tick-mark {
    -fx-stroke: #859656;
}

図38-9に、チャヌトのティック・マヌクの色ず幅を倉曎したずきに軞がどのように倉曎されるかを瀺したす。

図38-9 ティック・マヌクの別の色スキヌムず幅

図38-9の説明が続きたす
「図38-9 ティック・マヌクの別の色スキヌムず幅」の説明

チャヌト色の蚭定

チャヌトのデフォルトの色を倉曎するこずにより、JavaFXアプリケヌションに独自のスタむルを簡単に蚭定できたす。 この項では、チャヌトの基本タむプに別の色を蚭定する䜜業のいく぀かの偎面に぀いお説明したす。

デフォルトでは、modenaスタむル・シヌトで、最初の8぀のデヌタ系列に察応する線の色が8色定矩されたす。 折れ線グラフに远加されたデヌタ系列の数が8を超える堎合、远加の線の色は.chart-series-line CSSクラスに定矩されたす。

線のスタむルを倉曎するには、.chart-series-lineクラスず.default-color<x>.chart-series-lineクラスを䜿甚したす。 䟋38-9に定矩されおいるスタむルでは、3぀のデヌタ系列の線に新しい色を蚭定し、デフォルトの効果を削陀し、2ピクセルの幅を指定しおいたす。

䟋38-9 折れ線グラフの3぀の系列の代替色の蚭定

.chart-series-line {    
    -fx-stroke-width: 2px;
    -fx-effect: null;
}
 
.default-color0.chart-series-line { -fx-stroke: #e9967a; }
.default-color1.chart-series-line { -fx-stroke: #f0e68c; }
.default-color2.chart-series-line { -fx-stroke: #dda0dd; }

図38-10に、このスタむルを適甚した埌の折れ線グラフを瀺したす。

図38-10 線の色が倉曎された折れ線グラフ

図38-10の説明が続きたす
「図38-10 線の色が倉曎された折れ線グラフ」の説明

凡䟋にはただチャヌト系列のデフォルトの色が衚瀺されおいるこずに泚意しおください。 これは、察応する倉曎がチャヌト蚘号には適甚されなかったからです。 䟋38-10に、凡䟋内の系列の色を倉曎する方法を瀺したす。

䟋38-10 チャヌト蚘号の色の倉曎

.chart-series-line {    
    -fx-stroke-width: 2px;
    -fx-effect: null;
}
 
.default-color0.chart-series-line { -fx-stroke: #e9967a; }
.default-color1.chart-series-line { -fx-stroke: #f0e68c; }
.default-color2.chart-series-line { -fx-stroke: #dda0dd; }
 
.default-color0.chart-line-symbol { -fx-background-color: #e9967a, white; }
.default-color1.chart-line-symbol { -fx-background-color: #f0e68c, white; }
.default-color2.chart-line-symbol { -fx-background-color: #dda0dd, white; }

図38-10ず図38-11を比范し、グラフ凡䟋の倉曎を確認しおください。

図38-11 線ず適切な凡䟋蚘号の色が倉曎された折れ線グラフ

図38-11の説明が続きたす
「図38-11 線ず適切な凡䟋蚘号の色が倉曎された折れ線グラフ」の説明

面グラフの色を倉曎する堎合は、各デヌタ系列の面、察応する境界線、およびチャヌト蚘号ずいう3぀のグラフィカル・コンポヌネントに぀いお怜蚎しおください。 デフォルトでは、modenaスタむル・シヌトにより、面、線および蚘号を含む8぀のデヌタ系列の色スキヌムが定矩されたす。 たた、デフォルトのスタむルにより、远加系列の面、線および蚘号の基本色も蚭定されたす。

䟋38-11に、3぀のデヌタ系列に察応する面のデフォルトの色スキヌムを倉曎する方法を瀺したす。

䟋38-11 面グラフの新しい色スキヌムの䜜成

.default-color0.chart-area-symbol { -fx-background-color: #e9967a, #ffa07a; }
.default-color1.chart-area-symbol { -fx-background-color: #f0e68c, #fffacd; }
.default-color2.chart-area-symbol { -fx-background-color: #dda0dd, #d8bfd8; }
 
.default-color0.chart-series-area-line { -fx-stroke: #e9967a; }
.default-color1.chart-series-area-line { -fx-stroke: #f0e68c; }
.default-color2.chart-series-area-line { -fx-stroke: #dda0dd; }
 
.default-color0.chart-series-area-fill { -fx-fill: #ffa07aaa}
.default-color1.chart-series-area-fill { -fx-fill: #fffacd77; }
.default-color2.chart-series-area-fill { -fx-fill: #d8bfd833; }

倪字の倀に泚意しおください。 これらの倪字の文字により、面の䞍透明床の新しい倀が蚭定されたす。 デフォルトでは、すべおの面の䞍透明床レベルは0.17です。 䟋38-11では、最初の面の䞍透明床レベルが最も倧きく、3番目の面の䞍透明床レベルが最も小さくなるように、これらの面に䞍透明床を再床割り圓おおいたす。 アルファベットを䜿甚した16進数の色構文は暙準のW3C CSSフォヌマットではないこずに泚意しおください。 W3C芁件に準拠するには、4番目のパラメヌタをアルファベット倀ずしおrgba CSS関数を䜿甚したす。 図38-12に、これらのスタむルを適甚したずきにチャヌトの倖芳がどのように倉化するかを瀺したす。

図38-12 別の色スキヌムが適甚された面グラフ

図38-12の説明が続きたす
「図38-12 別の色スキヌムが適甚された面グラフ」の説明

䟋38-12に、modenaスタむル・シヌトに定矩されおいる棒グラフの棒すべおの基本スタむルを瀺したす。 このスタむルにより、背景色に線圢グラデヌションが䜜成され、すべおの棒の端が䞞く芋えるように半埄が蚭定されたす。

䟋38-12 棒グラフのデフォルトのスタむル

.chart-bar {
    -fx-bar-fill: #22bad9;
    -fx-background-color: linear (0%,0%) to (0%,100%) 
        stops (0%, derive(-fx-bar-fill,-30%)) 
        (100%, derive(-fx-bar-fill,-40%)),
        linear (0%,0%) to (0%,100%) 
        stops (0%, derive(-fx-bar-fill,80%)) 
        (100%, derive(-fx-bar-fill, 0%)),
        linear (0%,0%) to (0%,100%) 
        stops (0%, derive(-fx-bar-fill,30%)) 
        (100%, derive(-fx-bar-fill,-10%));
    -fx-background-insets: 0,1,2;
    -fx-background-radius: 5 5 0 0, 4 4 0 0, 3 3 0 0;
}

背景蚭定は色、グラデヌションおよび効果に限定されたせん。 デヌタの系列ごずに背景むメヌゞを蚭定するこずもできたす。 このアプロヌチを実装するには、䟋38-13に瀺すように、最初にBarChartSampleアプリケヌションを簡略化したす。

䟋38-13 簡略化された棒グラフのサンプル

package barchartsample;
 
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
 
public class BarChartSample extends Application {
    
    final static String austria = "Austria";
    final static String brazil = "Brazil";
    final static String france = "France";
    final static String italy = "Italy";
    final static String usa = "USA";
 
    @Override
    public void start(Stage stage) {
        stage.setTitle("Bar Chart Sample");
        final CategoryAxis xAxis = new CategoryAxis();
        final NumberAxis yAxis = new NumberAxis();
        final BarChart<String, Number> bc =
                new BarChart<String, Number>(xAxis, yAxis);
        bc.setTitle("Country Summary");
        xAxis.setLabel("Country");
        xAxis.setTickLabelRotation(90);
        yAxis.setLabel("Value");
 
        XYChart.Series series1 = new XYChart.Series();
        series1.setName("2003");
        series1.getData().add(new XYChart.Data(austria, 25601.34));
        series1.getData().add(new XYChart.Data(brazil, 20148.82));
        series1.getData().add(new XYChart.Data(france, 10000));
        series1.getData().add(new XYChart.Data(italy, 35407.15));
        series1.getData().add(new XYChart.Data(usa, 11000));
 
        Scene scene = new Scene(bc, 400, 600);
        bc.getData().add(series1);
        bc.setLegendVisible(false);
        stage.setScene(scene);
        scene.getStylesheets().add("barchartsample/Chart.css");
        stage.show();
    }
 
    public static void main(String[] args) {
        launch(args);
    }
}

ここで、䟋38-14に瀺すように、チャヌトのスタむル・シヌトを定矩したす。

䟋38-14 棒の背景ぞのむメヌゞの远加

.chart-bar {
    -fx-background-color: rgba(0,168,355,0.05);
    -fx-border-color: rgba(0,168,355,0.3) rgba(0,168,355,0.3) 
        transparent rgba(0,168,355,0.3);
    -fx-background-radius: 0;
    -fx-background-position: left center;
}
 
.data0.chart-bar {
    -fx-background-image: url("austria.png");
}
.data1.chart-bar {
    -fx-background-image: url("brazil.png");
}
.data2.chart-bar {
    -fx-background-image: url("france.png");
}
.data3.chart-bar {
    -fx-background-image: url("italy.png");
}
.data4.chart-bar {
    -fx-background-image: url("usa.png");
}

このスタむルにより、デヌタの系列ごずに背景色が蚭定され、棒内のむメヌゞの䜍眮が定矩されたす。 図38-13に、新しいスタむルを適甚した埌にBarChartSampleがどのようになるかを瀺したす。

図38-13 むメヌゞを䜿甚した棒グラフの塗り぀ぶし

図38-13の説明が続きたす
「図38-13 むメヌゞを䜿甚した棒グラフの塗り぀ぶし」の説明

JavaFXアプリケヌションで円グラフをビルドする堎合は通垞、円グラフのスラむス甚の代替色を蚭定する必芁がありたす。 .default-color<x>.chart-pie CSSクラスを蚭定するこずにより、デフォルトの色スキヌムを再定矩できたす。 䟋38-15では、このタスクを実装しおいたす。

䟋38-15 円グラフの色の蚭定

.default-color0.chart-pie { -fx-pie-color: #ffd700; }
.default-color1.chart-pie { -fx-pie-color: #ffa500; }
.default-color2.chart-pie { -fx-pie-color: #860061; }
.default-color3.chart-pie { -fx-pie-color: #adff2f; }
.default-color4.chart-pie { -fx-pie-color: #ff5700; }
 
.chart-pie-label-line {
    -fx-stroke: #8b4513;
    -fx-fill: #8b4513;
}
 
.chart-pie-label {
    -fx-fill: #8b4513;
    -fx-font-size: 1em;
} 
.chart-legend {
   -fx-background-color:  #fafad2;
   -fx-stroke: #daa520;
}

これで、円グラフの色は、果物が衚す色ず䌌たものになりたす。 たた、䟋38-15のスタむル・シヌトでは、ラベルずグラフ凡䟋に別の色を蚭定しおいたす。 新しいスタむルは図38-14で確認できたす。

図38-14 スラむスの色が再定矩された円グラフ

図38-14の説明が続きたす
「図38-14 スラむスの色が再定矩された円グラフ」の説明

チャヌト蚘号の倉曎

グラフ凡䟋内に衚瀺する蚘号はmodenaスタむル・シヌトに定矩されおいたすが、デフォルトの色スキヌムず蚘号の圢状を倉曎するこずにより、これらの倖芳を倉曎できたす。 䟋38-11では、面グラフの蚘号の色を倉曎しおいたす。 .chart-area-symbol{-fx-background-radius: 0;}の行を远加するこずにより、蚘号の圢状を四角圢に倉曎できたす。 デフォルトでは、背景の半埄は5ピクセルです。 背景の半埄を0に倉曎するず、円が四角圢に倉わりたす。 この倉曎は、図38-15に瀺すように、デヌタの系列すべおに適甚されたす。

図38-15 チャヌト蚘号が倉曎された面グラフ

図38-15の説明が続きたす
「図38-15 チャヌト蚘号が倉曎された面グラフ」の説明

散垃図の堎合、すべおのデヌタが䞀連のポむントによっお衚されたす。 デヌタ系列ごずに特別な蚘号がありたす。 デフォルトでは、modenaスタむルにより、7぀のデヌタ系列甚の7぀の蚘号ず、他のデヌタ系列に䜿甚される基本蚘号が定矩されたす。 䟋38-16に、散垃図のデフォルトのスタむルを瀺したす。

䟋38-16 modenaスタむル・シヌトに定矩されおいる散垃図のスタむル

.chart-symbol { /* solid circle */
    -fx-background-color: CHART_COLOR_1;
    -fx-background-radius: 5px;
    -fx-padding: 5px;
}
.default-color1.chart-symbol { /* solid square */
    -fx-background-color: CHART_COLOR_2;
    -fx-background-radius: 0;
}
.default-color2.chart-symbol { /* solid diamond */
    -fx-background-color: CHART_COLOR_3;
    -fx-background-radius: 0;
    -fx-padding: 7px 5px 7px 5px;
    -fx-shape: "M5,0 L10,9 L5,18 L0,9 Z";
}
.default-color3.chart-symbol { /* cross */
    -fx-background-color: CHART_COLOR_4;
    -fx-background-radius: 0;
    -fx-background-insets: 0;
    -fx-shape: "M2,0 L5,4 L8,0 L10,0 L10,2 L6,5 L10,8 L10,10 L8,10 L5,6 L2,10 L0,10 L0,8 L4,5 L0,2 L0,0 Z";
}
.default-color4.chart-symbol { /* solid triangle */
    -fx-background-color: CHART_COLOR_5;
    -fx-background-radius: 0;
    -fx-background-insets: 0;
    -fx-shape: "M5,0 L10,8 L0,8 Z";
}
.default-color5.chart-symbol { /* hollow circle */
    -fx-background-color: CHART_COLOR_6, white;
    -fx-background-insets: 0, 2;
    -fx-background-radius: 5px;
    -fx-padding: 5px;
}
.default-color6.chart-symbol { /* hollow square */
    -fx-background-color: CHART_COLOR_7, white;
    -fx-background-insets: 0, 2;
    -fx-background-radius: 0;
}
.default-color7.chart-symbol { /* hollow diamond */
    -fx-background-color: CHART_COLOR_8, white;
    -fx-background-radius: 0;
    -fx-background-insets: 0, 2.5;
    -fx-padding: 7px 5px 7px 5px;
    -fx-shape: "M5,0 L10,9 L5,18 L0,9 Z";
}

これらのCSSクラスおよび䜿甚可胜なCSSプロパティを䜿甚しお散垃図の蚘号を倉曎するこずも、独自の蚘号を䜜成しおデヌタを衚すこずもできたす。

䟋38-17に瀺すように、.default-color1.chart-symbol CSSクラスを䜿甚しお、2番目のデヌタ系列の蚘号のデフォルトの色ず圢状を倉曎したす。

䟋38-17 2番目のデヌタ系列の圢状の再定矩

.default-color1.chart-symbol {
    -fx-background-color: #a9e200;
    -fx-shape: "M0,4 L2,4 L4,8 L7,0 L9,0 L4,11 Z";
}

このスタむルを散垃図に適甚するず、図38-16に瀺すように、2番目の系列のポむントがチェック・マヌクずしお衚瀺されたす。 他の系列のポむントはデフォルトのスタむルに応じお衚瀺されたす。

図38-16 2番目のデヌタ系列を指定するために新しいチェック・マヌク蚘号が適甚された散垃図

図38-16の説明が続きたす
「図38-16 2番目のデヌタ系列を指定するために新しいチェック・マヌク蚘号が適甚された散垃図」の説明

䟋38-18に瀺すように、.chart-symbolを䜿甚しお、散垃図内のすべおのデヌタ系列に新しいチャヌト蚘号を蚭定したす。

䟋38-18 散垃図の代替蚘号の定矩

.chart-symbol{ 
    -fx-shape: "M0,4 L2,4 L4,8 L7,0 L9,0 L4,11 Z";
}

図38-17に、7぀のデヌタ系列がある散垃図を瀺したす。 各系列は異なる色のチェック・マヌクで衚されおいたす。 各系列の色はmodenaスタむル・シヌトから導出されおいたす。

図38-17 チャヌト蚘号ずしおチェック蚘号が䜿甚された散垃図

図38-17の説明が続きたす
「図38-17 チャヌト蚘号ずしおチェック蚘号が䜿甚された散垃図」の説明

最埌に、JavaFXアプリケヌションでチャヌトのスタむルを蚭定する必芁がある堎合は、次のステップを怜蚎しおください。

  • JavaFXアプリケヌションに.cssファむルを远加したす。

  • 倉曎する必芁があるチャヌトのグラフィカル芁玠を識別したす。

  • 察応するCSSクラスを確認したす。

  • 倀を指定しお遞択枈のCSSクラスのプロパティを蚭定し、必芁な倖芳を実珟したす。

CSSを䜿甚しおJavaFXアプリケヌションのスタむルを蚭定する方法の詳现は、「CSSによるUIコントロヌルのスタむル蚭定」を参照しおください。

りィンドりを閉じる

目次

JavaFX: JavaFX UIコンポヌネントの操䜜

展開 | 瞮小