2012-03-14 24 views
6

Tengo una aplicación JavaFX que usa FXML para compilar su GUI.Prellenar ListView en una aplicación con FXML

Cuando se inicia esta aplicación, necesito tener ListView, que tiene algunos valores cargados, por ejemplo, desde la base de datos. Entonces, ¿cómo puedo hacer esto?

Sé cómo hacer aplicaciones, que carga elementos a ListView después de que el usuario haga clic en un botón, o algo así (atributo "onAction" en FXML). Pero esto no me satisface, ya que necesito que los elementos se carguen automáticamente en ListView.

Respuesta

8

Si ha fxml con el regulador, como la siguiente:

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

sólo se puede aplicar Initializable en su controlador:

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)); 

    } 
} 
14

Esto llena mi choicebox con los cinco velocidades de transmisión predeterminadas. Supongo que si intentas agregar elementos desde tu controlador, la lista solo muestra esos valores (no probados).

<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> 

También es necesario incluir la siguiente declaración de importación en su FXML:

<?import javafx.collections.*?> 
+4

obras, pero no se olvide de añadir declaraciones de importación necesarios para la parte superior de su archivo FXML; como '' –

+0

¿Cómo se puede suministrar una fábrica personalizada? – crush

Cuestiones relacionadas