Javafx |
19.06.2016, 16:46 | Auf diesen Beitrag antworten » |
wlks1996 | Javafx Meine Frage: Visualisieren Sie Ihren AVL-balancierten Binärbaum unter Verwendung der JavaFX-Bibliothek. Dabei sollten das Einfügen und das Löschen von Knoten des Baums interaktiv möglich sein (2 Knöpfe, 1 Textfeld). Der Baum soll top-down dargestellt werden, wobei unterhalb der Wurzel mindestens 4 Baumebenen dargestellbar sein sollen. Kann mir dabei jemand helfen Meine Ideen: Ich weiß nicht ob man da weiter machen kann aber anders habe ich es nicht programmieren können public static void main(String[] args) { SortierterBinaerbaum b = new SortierterBinaerbaum(); launch(args); } public void start(Stage myStage) { // Stage myStage.setTitle("AVL Baum"); //BorderPane BorderPane rootNode = new BorderPane(); // Scene erstellen Scene myScene = new Scene(rootNode, 840, 600); myStage.setScene(myScene); // Bereich in der Mitte BorderPane bpCenter = new BorderPane(); BorderPane.setAlignment(bpCenter, Pos.CENTER); rootNode.setCenter(bpCenter); // Linke Seite Buttons und Textfeld Button btnEinfuegen = new Button("Einfügen"); Button btnLoeschen = new Button("Löschen"); btnLoeschen.setPrefWidth(80); btnEinfuegen.setPrefWidth(80); //Textfeld muss noch besser positioniert werden TextField tfLeft = new TextField(); BorderPane.setAlignment(tfLeft, Pos.BOTTOM_LEFT); rootNode.setCenter(tfLeft); VBox vbLeft = new VBox(10); vbLeft.getChildren().addAll(btnLoeschen, btnEinfuegen, tfLeft); vbLeft.setAlignment(Pos.CENTER); rootNode.setLeft(vbLeft); BorderPane.setAlignment(vbLeft, Pos.CENTER); // Stackpane kreieren StackPane stack = new StackPane(); rootNode.setCenter(stack); //Label Label malen = new Label(); //Methoden den Buttons übergeben //Einfügen: btnEinfuegen.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent ae) { //b.insert(b.wurzel, tleft.getText()); // Bobbele malen // Kreis final Circle circle = new Circle(50); circle.setStroke(Color.BLUE); circle.setStrokeWidth(10); circle.setStrokeType(StrokeType.INSIDE); circle.setFill(Color.AZURE); //text ausm textfield holen malen.setText(tfLeft.getText()); //kreis + text gruppieren Group group = new Group(circle, malen); // aufm stackpane anzeigen stack.getChildren().add(group); } }); //Löschen: btnLoeschen.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent ae) { //b.loesche(b.wurzel, inhalt von TextF); //Bobbele löschen }}); // Anzeigen myStage.show(); } } |
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|