質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

Q&A

解決済

1回答

683閲覧

JavaFxでCSSを適用させたい

motox

総合スコア3

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

2グッド

0クリップ

投稿2023/03/18 17:07

実現したいこと

JavaFxでCSSを適用させたい

前提

FXMLとJavaで開発をしていて、ラベルにCSSを適用してラベルを丸めたり中央寄せをしたい。

該当のソースコード

controller↓

java

1//CSS 2private final String Css = "-fx-border-radius:10px; -fx-text-alignment: center; -fx-line-height: 2em; -fx-font-size: 20px; -fx-background-color:#00008B;"; 3 4//適用例 5@FXML 6private Label label; 7label.setStyle(Css);

試したこと

-fx-border-radiusborder-radiusにしてみたり
-fx-text-alignmenttext-alignにしてみたり
丸めるのと中央寄せをするのだけが適応されません。
-fx-background-colorだけはいつでも動きます...

TN8001, tucanmi👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ラベルを丸めたり

borderを丸めるなら、border-colorを入れてください。

css

1-fx-border-color: red; 2-fx-border-radius: 10px;

背景を丸めるなら、background-radiusを入れてください。

css

1-fx-background-color:#00008B; 2-fx-background-radius: 10px;

中央寄せをしたい。

text-alignmentは、複数行にしたときに意味があります(Label2
alignmentは、Labelの幅が文字より広い場合に中央寄せになります(Label3
Label自体を中央寄せにするには、コンテナのalignmentを変えます(Label4

xml

1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.control.Label?> 4<?import javafx.scene.layout.VBox?> 5 6<VBox spacing="10.0" stylesheets="@test.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1"> 7 <children> 8 <Label text="Label1" /> 9 <Label text="Label2&#10;Label2 Label2" /> 10 <Label maxWidth="Infinity" text="Label3" /> 11 <VBox alignment="CENTER"> 12 <children> 13 <Label text="Label4" /> 14 </children> 15 </VBox> 16 </children> 17</VBox>

css

1Label { 2 -fx-alignment: center; 3 -fx-background-color: #00008B; 4 -fx-background-radius: 10px; 5 -fx-border-color: red; 6 -fx-border-radius: 10px; 7 -fx-border-width: 2px; 8 -fx-font-size: 20px; 9 -fx-line-height: 2em; 10 -fx-text-alignment: center; 11 -fx-text-fill: white; 12}

アプリ画像


-fx-line-heightは見当たりませんでしたが...
JavaFX CSS Reference Guide

投稿2023/03/18 21:43

TN8001

総合スコア9317

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

motox

2023/03/19 10:11

ありがとうございます! とうとう作りたいものが完成しました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問