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

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

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

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

Java

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

Q&A

解決済

1回答

2005閲覧

JavaFXにおいてテキストを最も手前に表示したい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaFX

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

Java

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

0グッド

2クリップ

投稿2018/01/13 14:30

JavaFxを使い、ゲームをつくっています。

指定のテキストを指定の座標に表示したいです。
しかし、以下の条件を満たすようにしたいです。

・テキストを中心揃えにできる
・サイズを指定できる
・フォントを指定できる
・色を指定できる
・背景や別の図形に邪魔されずに、最も手前に表示できる

どのように書けば条件を満たしたテキスト表示ができますか?

また、既に、GraphicsContextを用意し、setFillやsetStrokeで色を指定してしまっているのですが、こうしたときは新しくGraphicsContextを作る必要がありますか?

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

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

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

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

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

masaya_ohashi

2018/01/15 04:43

前提として、そのテキスト表示と言っているものは「シーン上に配置したjavafx.scene.text.Text」での描画でしょうか、それともGraphicsContextのfillTextやstrokeTextでの描画でしょうか?
退会済みユーザー

退会済みユーザー

2018/01/15 08:21

どちらでお答えいただいても構いません。どちらの方が良いということはありますか?
masaya_ohashi

2018/01/15 08:30

シーン上に配置したjavafx.scene.text.Text、で管理すれば、「HUD表示」的な表現が可能です。しかし、ゲーム内のオブジェクトとして扱うには座標の管理等が手間です。ダイナミックに文字を動かす等が必要であればGraphicsContextのfillTextやstrokeTextのほうが向いています。
masaya_ohashi

2018/01/17 00:05

すでにすでに書かれているコードをある程度提示していただくと答えやすいです。
guest

回答1

0

ベストアンサー

日本語で書かれているJavaFXテキストがあまりないですが、一つのテキストを探しました:https://www.tuyano.com/index2?id=8356003

YOUTUBEで様々なビデオを見ることができます。例として:https://www.youtube.com/playlist?list=PLA7e3zmT6XQUR-PrG8OQ9nJu2jT5xcOy0 。英語のビデオしか見つけないことを許してください。

GraphicsContextを用意に関して、Canvasと一緒に使用する必要があります。例として:

import javafx.scene.*; import javafx.scene.paint.*; import javafx.scene.canvas.*; Group root = new Group(); Scene s = new Scene(root, 300, 300, Color.BLACK); final Canvas canvas = new Canvas(250,250); GraphicsContext gc = canvas.getGraphicsContext2D(); gc.setFill(Color.BLUE); gc.fillRect(75,75,100,100); root.getChildren().add(canvas);

投稿2018/01/23 20:43

Daifaityr234

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問