6

FXMLを使用してGUIを構築するJavaFXアプリケーションがあります。

このアプリケーションを起動するとき、たとえばデータベースからいくつかの値をロードした ListView が必要です。それで、どうすればこれを行うことができますか?

ユーザーがボタンをクリックした後にアイテムをListViewにロードするアプリケーションの作成方法、またはこのようなもの(FXMLの「onAction」属性)を作成する方法を知っています。しかし、リストビューにアイテムを自動的にロードする必要があるため、これは私には適していません。

4

2 に答える 2

16

これにより、選択ボックスが 5 つの事前定義されたボー レートで満たされます。コントローラーからアイテムを追加しようとすると、リストにはそれらの値のみが表示されると思います(テストされていません)。

<ChoiceBox fx:id="baudRates" layoutX="234.0" layoutY="72.0">
    <items>
        <FXCollections fx:factory="observableArrayList">
            <String fx:value="4800" />
            <String fx:value="9600" />
            <String fx:value="19200" />
            <String fx:value="57600" />
            <String fx:value="115200" />
        </FXCollections>
    </items>
</ChoiceBox>

また、FXML に次の import ステートメントを含める必要があります。

<?import javafx.collections.*?>
于 2012-04-24T06:03:09.210 に答える
9

次のように、コントローラに fxml がある場合:

<AnchorPane xmlns:fx="http://javafx.com/fxml" fx:controller="test.Sample">
    <children>
        <ListView fx:id="listView"/>
    </children>
</AnchorPane>

Initializableコントローラーに実装するだけです:

public class Sample implements Initializable {
    @FXML
    private ListView listView;

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // change next line to DB load
        List<String> values = Arrays.asList("one", "two", "three");

        listView.setItems(FXCollections.observableList(values));

    }
}
于 2012-03-14T16:52:42.757 に答える