wlks1996 unregistriert
|
|
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();
}
}
|
|
19.06.2016 16:46 |
|
|