• Startseite
  • Tutorials
  • Kontakt
  • Mein Account
Panjutorials
  • Startseite
  • Tutorials
  • Kontakt
  • Mein Account

BorderPane in JavaFX

 

In diesem Artikel geht es um das BorderPane in JavaFX. Dabei handelt es sich um ein weiteres Layout, welches uns ermöglicht unser Nodes entsprechend anzuordnen. Es ist nicht ganz so flexibel wie man anderes Layout, aber es findet dennoch seine Verwendung.


package application;
	
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			BorderPane borderPane = new BorderPane();
			Scene scene = new Scene(borderPane,400,400);

			Button btnTop = new Button("Oben");
			borderPane.setTop(btnTop);

		    Button btnCenter = new Button("Mitte");
		    borderPane.setCenter(btnCenter);

		    Button btnRight = new Button("Rechts");
		    borderPane.setRight(btnRight);

		    Button btnBottom = new Button("Unten");
		    borderPane.setBottom(btnBottom);
		    
		    Button btnLeft = new Button("Links");
		    borderPane.setLeft(btnLeft);
			
			
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

Damit erhalten wir folgendes Programm:

[image img_id=”6246″ alt=”BorderPane in JavaFX” width=”441″ height=”469″]

Das ist natürlich sehr vereinfacht. Wir können nämlich statt Buttons auch VBoxen einbauen und haben plötzlich ganz andere Möglichkeiten.
[spoiler title=’BorderPane in JavaFX’]


package application;
	
import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
import javafx.scene.web.HTMLEditor;
import javafx.scene.web.WebView;
import javafx.stage.Stage;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			BorderPane borderPane = new BorderPane();
			Scene scene = new Scene(borderPane,400,400);

			Label top = new Label("Der Text oben");
			VBox left = new VBox();
			VBox right = new VBox();
			
			HTMLEditor htmlEditor = new HTMLEditor();
			
	        htmlEditor.setPrefHeight(250);
				        
	        // hier legen wir einen Brwoser an und holen sein Engine
	        final WebView browser = new WebView();
			
			final TextArea htmlCode = new TextArea();
	        htmlCode.setWrapText(true);
	        
	        // Dieser Button soll nun den Inhalt 
	        // des HTML Editor in Form von Code anzeigen 
	        Button showHTMLButton = new Button("Zeige HTML Code an");
	        showHTMLButton.setOnAction(new EventHandler() {

				@Override
				public void handle(Event arg0) {
					htmlCode.setText(htmlEditor.getHtmlText());
					
				}
	        });
			
			left.getChildren().add(new Button("Der Überbutton"));
			right.getChildren().add(showHTMLButton);
			
			borderPane.setTop(top);
			borderPane.setCenter(htmlEditor);
			borderPane.setLeft(left);
			borderPane.setRight(right);
			borderPane.setBottom(htmlCode);
			
			primaryStage.setScene(scene);
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

[/spoiler]