私のスタンドアロン JavaFX ステージには、TextArea
FXML で指定された があり、これは常に無効になっているようです。ただし、左上隅には、高さ 1 文字、幅 4 文字程度の、編集カーソルのある小さなクリック可能な領域があります。TextArea
のサーフェスの残りの部分は、TextArea
が無効になっているかのように動作します。
次のいずれかの時点で:
a) テキストが変更された (ユーザー入力またはプログラムによって) b)TextArea
一度入力フォーカスがあった
はTextArea
完全にクリック可能で、編集可能なコントロールのように見えます。ウィンドウのサイズを変更するHGrow
と(VGrow
が に設定されますALWAYS
)、クリック可能な領域も大きくなります。2 台の異なるマシン (Windows 7) でテストしました。同じ振る舞い。
<TextArea GridPane.columnIndex="1"
GridPane.rowIndex="0"
fx:id="timeTextArea"
prefHeight="70" />
小さなテスト アプリケーションで問題を再現できないため、これは JavaFX の一般的な問題ではありません。どんなアイデアでも素晴らしいでしょう。詳細な調査のために、完全な FXML ファイルがあります。
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.collections.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.control.Tooltip?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>
<BorderPane fx:id="mainContainer" xmlns:fx="http://javafx.com/fxml" fx:controller="gui.RulesView">
<center>
<VBox fx:id="vb_tabBackSettings">
<children>
<GridPane hgap="20.0" vgap="5.0">
<children>
<Label prefHeight="20.0" text="%settings.rules.timeLabel.text"
GridPane.columnIndex="0" GridPane.rowIndex="0" />
<Label prefHeight="20.0" text="%settings.rules.winLabel.text"
GridPane.columnIndex="0" GridPane.rowIndex="1" />
<Label prefHeight="20.0" text="%settings.rules.numOfRoundsLabel.text"
GridPane.columnIndex="0" GridPane.rowIndex="2" />
<Label prefHeight="20.0" text="%settings.rules.algoLabel.text"
GridPane.columnIndex="0" GridPane.rowIndex="3" />
<Label prefHeight="20.0" text="%settings.rules.colorLabel.text"
GridPane.columnIndex="0" GridPane.rowIndex="4" />
<TextArea fx:id="timeTextArea" prefHeight="70.0"
GridPane.columnIndex="1" GridPane.rowIndex="0" />
<TextArea fx:id="trophyMoneyTextArea" prefHeight="70.0"
GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="numberOfRoundsTextField"
GridPane.columnIndex="1" GridPane.rowIndex="2" />
<ChoiceBox fx:id="algoChoiceBox" prefHeight="20.0" prefWidth="200.0"
GridPane.columnIndex="1" GridPane.rowIndex="3" />
<ChoiceBox fx:id="colorChoiceBox" prefHeight="20.0" prefWidth="200.0"
GridPane.columnIndex="1" GridPane.rowIndex="4" />
<CheckBox fx:id="isRatedCheckBox" prefHeight="20.0"
text="%settings.rules.checkLabel.text"
GridPane.columnIndex="0" GridPane.rowIndex="5" />
</children>
</GridPane>
</children>
</VBox>
</center>
</BorderPane>