5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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リファレンス・ガイド](https://docs.oracle.com/javase/jp/8/javafx/api/javafx/scene/doc-files/cssref.html"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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?