Boa Tarde!
Estou aprendendo usar o JavaFX, e não estou conseguindo inserir dados no componente “ListView” segue código fonte abaixo do meu arquivo FXML e JAVA para analisarem.
Arquivo: FXMLPrincipal.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.MenuButton?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.FlowPane?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.text.Font?>
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="675.0" prefWidth="1024.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="br.com.jmgt.interfacegrafica.controle.FXMLPrincipalController">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="507.0" minWidth="10.0" prefWidth="368.0" />
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" maxWidth="746.0" minWidth="10.0" prefWidth="656.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" valignment="TOP" vgrow="ALWAYS" />
</rowConstraints>
<children>
<GridPane fx:id="raizGridPane">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="ALWAYS" maxWidth="365.0" minWidth="10.0" prefWidth="365.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="264.0" minHeight="10.0" prefHeight="60.0" valignment="CENTER" vgrow="ALWAYS" />
<RowConstraints maxHeight="535.0" minHeight="7.0" prefHeight="20.0" valignment="CENTER" vgrow="ALWAYS" />
<RowConstraints maxHeight="583.0" minHeight="10.0" prefHeight="56.0" valignment="CENTER" vgrow="ALWAYS" />
<RowConstraints maxHeight="583.0" minHeight="10.0" prefHeight="542.0" valignment="CENTER" vgrow="ALWAYS" />
</rowConstraints>
<children>
<FlowPane fx:id="menuFlowPane" alignment="CENTER_RIGHT" prefHeight="50.0" prefWidth="200.0">
<children>
<Button fx:id="okButton" mnemonicParsing="false" prefHeight="50.0" prefWidth="60.0" text="+">
<font>
<Font size="18.0" />
</font>
<FlowPane.margin>
<Insets />
</FlowPane.margin>
</Button>
<MenuButton fx:id="principalMenuButton" mnemonicParsing="false" prefHeight="50.0" prefWidth="50.0" text=". . .">
<items>
<MenuItem mnemonicParsing="false" text="Action 1" />
<MenuItem mnemonicParsing="false" text="Action 2" />
</items>
<font>
<Font size="18.0" />
</font>
<FlowPane.margin>
<Insets />
</FlowPane.margin>
</MenuButton>
</children>
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</GridPane.margin>
</FlowPane>
<Label fx:id="lbMensagem" prefHeight="17.0" prefWidth="354.0" text="Mensagem de aviso aqui" textFill="#fa0202" GridPane.rowIndex="1">
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</GridPane.margin>
</Label>
<TextField fx:id="buscarTextField" promptText="Buscar" GridPane.rowIndex="2">
<font>
<Font size="18.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</GridPane.margin>
</TextField>
<ListView fx:id="ticketListView" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</GridPane.margin></ListView>
</children>
</GridPane>
<AnchorPane fx:id="dinamicoAnchorPane" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.hgrow="ALWAYS" GridPane.valignment="TOP" GridPane.vgrow="ALWAYS">
<GridPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</GridPane.margin>
</AnchorPane>
</children>
</GridPane>
Arquivo: FXMLPrincipalController.java
public class FXMLPrincipalController implements Initializable {
//Atributos da classe com a interface grafica
@FXML
private ListView<String> ticketListView;
@FXML
private Label lbMensagem;
//Atributos da classe
private ObservableList<String> observeListTicket;
/**
* Inicializa o controle da classe
* @param url
* @param rb
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
//sem mensagem para o usuario no inicio
lbMensagem.setText("");
observeListTicket = FXCollections.observableArrayList(
"Julia", "Ian", "Sue", "Matthew", "Hannah", "Stephan", "Denise");
ticketListView = new ListView<>(observeListTicket);
}
}