5
4

More than 5 years have passed since last update.

JavaFX CSSを動的にLabelに適応するサンプル

Posted at

サンプルの紹介

JavaFXにはLabelというコンポーネントがあります。setStyle()メソッドを使い、このコンポーネントにJavaFX CSSを動的に適応するサンプルを作りました。ただし、JavaFX CSSはLabel特有のものに限りました。

Labelに適応できるJavaFX CSSはJavaFX CSSリファレンス・ガイドで調べました。

今回作ったアプリケーションは以下のような画面です。

start.png

コンボボックスでJavaFX CSSのプロパティを選択できます。

今回作ったアプリケーションは以下のgithubリポジトリに載せました。

適応例

以下、JavaFX CSSを適応してみた感想です。

-fx-alignment

centerにすると上下左右の中央になります。
baseline-[ center | left | right ]は[ center | left | right ]とそれぞれ同じでした。他はプロパティ名から想像できる配置通りです。

center

center.png

-fx-text-alignment

[ left | center | right | justify ]それぞれ変化がありませんでした。

-fx-text-overrun

ellipsisという単語が含まれるプロパティでは省略の仕方が変わります。clipは省略しません。Labelを含むBorderの領域も変化しました。

center-ellipsis

center-ellipsis.png

center-word-ellipsis

center-word-ellipsis.png

clip

clip.png

ellipsis

ellipsis.png

leading-ellipsis

leading-ellipsis.png

leading-word-ellipsis

leading-word-ellipsis.png

word-ellipsis

word-ellipsis.png

-fx-wrap-text

trueにするとテキストが省略されなくなりました。

true

true.png

false

false.png

-fx-underline

trueにすると、アンダーラインがテキストに引かれます。

true

true.png

false

false.png

-fx-label-padding

パディングの量が変わります。

-fx-text-fill

テキストの色が変わります。線形グラデーション、放射状グラデーションを指定することもできます。

linear-gradient(to bottom right, red, black);

linear-gradient.png

radial-gradient(radius 100%, red, darkgray, black);

radial-gradient.png

-fx-ellipsis-string

省略記号を指定できます。
略.png

-fx-font-family

これはシステム依存です。monospaceの変化が分かりやすかったです。

serif

serif.png

sans-serif

sans-serif.png

cursive

cursive.png

fantasy

fantasy.png

monospace

monospace.png

-fx-font-size

フォントの大きさです。
15pt.png

-fx-font-style

以下のプロパティ名を指定できます。

  • normal
  • italic
  • oblique

しかし、変化しませんでした。

-fx-font-weight

normalとlighter、boldとbolderは区別がつきませんでした。

normal

normal.png

bold

bold.png

bolder

bolder.png

lighter

lighter.png

-fx-graphic、-fx-graphic-text-gap、-fx-content-display

  • -fx-graphicで画像を選択できます
  • -fx-graphic-text-gapで画像とテキストの間の幅を調節できます。
  • -fx-content-displayでテキストに対する画像の位置を設定できます。

normal.png
bottom.png

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4