Javafx

Neue Frage »

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();
}
}
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »