package de.fhg.iwes.javafx.test; import java.util.LinkedList; import java.util.List; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.stage.Stage; import javafx.stage.StageStyle; public class JavaFxChoiceBoxNPE extends Application { public static void main(String[] args) { Application.launch(JavaFxChoiceBoxNPE.class, args); } String title = "JavaFX 2.0.2"; Stage newStage; @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void start(Stage primaryStage) throws Exception { // Set up stage Group root = new Group(); final Scene scene = new Scene(root, 570, 160); newStage = new Stage(); newStage.setTitle(title); newStage.setScene(scene); newStage.centerOnScreen(); newStage.initStyle(StageStyle.DECORATED); newStage.show(); List list = new LinkedList(); list.add("Item 1"); list.add("Item 2"); ChoiceBox choiceBox = new ChoiceBox(FXCollections.observableArrayList(list)); choiceBox.getSelectionModel().selectFirst(); choiceBox.setLayoutX(50); choiceBox.setLayoutY(70); root.getChildren().add(choiceBox); Button btnWindowStyle = new Button("Window-Style"); btnWindowStyle.setLayoutX(200); btnWindowStyle.setLayoutY(70); root.getChildren().add(btnWindowStyle); btnWindowStyle.setOnAction(new EventHandler() { @Override public void handle(ActionEvent arg0) { if (newStage != null) { newStage.hide(); } newStage = new Stage(); newStage.setTitle(title); newStage.setScene(scene); newStage.centerOnScreen(); newStage.initStyle(StageStyle.DECORATED); newStage.show(); } }); Button btnUtilityStyle = new Button("Utility-Style"); btnUtilityStyle.setLayoutX(310); btnUtilityStyle.setLayoutY(70); root.getChildren().add(btnUtilityStyle); btnUtilityStyle.setOnAction(new EventHandler() { @Override public void handle(ActionEvent arg0) { if (newStage != null) { newStage.hide(); } newStage = new Stage(); newStage.setTitle(title); newStage.setScene(scene); newStage.centerOnScreen(); newStage.initStyle(StageStyle.UTILITY); newStage.show(); } }); Button btnUndecoratedStyle = new Button("Undecorated-Style"); btnUndecoratedStyle.setLayoutX(405); btnUndecoratedStyle.setLayoutY(70); root.getChildren().add(btnUndecoratedStyle); btnUndecoratedStyle.setOnAction(new EventHandler() { @Override public void handle(ActionEvent arg0) { if (newStage != null) { newStage.hide(); } newStage = new Stage(); newStage.setTitle(title); newStage.setScene(scene); newStage.centerOnScreen(); newStage.initStyle(StageStyle.UNDECORATED); newStage.show(); } }); } }