可编辑的JavaFX TextArea以只读方式显示

时间:2012-05-11 11:45:28

标签: java textarea javafx-2 java-7 fxml

在我的独立JavaFX阶段,有一个TextArea,在FXML中指定,似乎始终被禁用。但一个可点击的区域,左上角有编辑光标,大约一个字母高,四个字母宽。 TextArea表面的其余部分就像TextArea被禁用一样。

一旦:

a)文本已更改(通过用户输入或以编程方式) b)TextArea曾经有输入焦点

TextArea完全可点击,看起来就像任何可编辑的控件。当我调整窗口大小(HGrowVGrow设置为ALWAYS)时,可点击区域也会增长。我们在两台不同的机器上测试了它(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>

0 个答案:

没有答案