TilePane

Последнее обновление: 07.06.2018

Класс javafx.scene.layout.TilePane позволяет организовать вложенные элементы в виде тайлов. Фактически тайлы представляют ячейки одинаковой высоты и ширины на пересечении строк и столбцов.

Для создания TilePane применяются следующие конструкторы:

  • TilePane(): создает горизонтальный TilePane

  • TilePane​(double hgap, double vgap): создает горизонтальный TilePane и устанавливает отступы между тайлами по горизонтали (hgap) и по вертикали (vgap)

  • TilePane​(double hgap, double vgap, Node... children): создает горизонтальный TilePane, устанавливает отступы между тайлами по горизонтали (hgap) и по вертикали (vgap) и добавляет элементы children

  • TilePane​(Orientation orientation): создает TilePane с определенной ориентацией - горизонтальной или вертикальной

  • TilePane​(Orientation orientation, double hgap, double vgap): создает TilePane и задает для него ориентацию и отступы между тайлами по вертикали и горизонтали

  • TilePane​(Orientation orientation, double hgap, double vgap, Node... children): создает TilePane, задает для него ориентацию, отступы между тайлами по вертикали и горизнотали, а также коллекцию сложенных элементов

  • TilePane​(Orientation orientation, Node... children): создает TilePane с определенной ориентацией и элементами

  • TilePane​(Node... children): создает горизонтальный TilePane с элементами children

Простейший TilePane:

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

public class Main extends Application{
	
	public static void main(String[] args) {
        
		Application.launch(args);
    }
	
	@Override
    public void start(Stage stage) {
		
		Button first = new Button("First");
		Button second = new Button("Second");
		Button third = new Button("Third");
		Button fourth = new Button("Fourth");
		Button fifth = new Button("Fifth");
		Button sixth = new Button("Sixth");
		
		TilePane tilepane = new TilePane(first, second, third, fourth, fifth, sixth);
	
		Scene scene = new Scene(tilepane, 300, 200);
		stage.setScene(scene);
		
        stage.setTitle("TilePane in JavaFX");
		
        stage.show();
	}
}

По умолчанию создается TilePane с горизонтальной ориентацией. То есть все вложенные элементы размещаются в строку. Если места не хватает, то они переносятся на новую строку:

TilePane in JavaFX

Соответственно мы также можем задать вертикальную ориентацию:

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.TilePane;
import javafx.geometry.Orientation;

public class Main extends Application{
	
	public static void main(String[] args) {
        
		Application.launch(args);
    }
	
	@Override
    public void start(Stage stage) {
		
		Button first = new Button("First");
		Button second = new Button("Second");
		Button third = new Button("Third");
		Button fourth = new Button("Fourth");
		Button fifth = new Button("Fifth");
		Button sixth = new Button("Sixth");
		
		TilePane tilepane = new TilePane(Orientation.VERTICAL, first, second, third, fourth, fifth, sixth);
	
		Scene scene = new Scene(tilepane, 300, 200);
		stage.setScene(scene);
		
        stage.setTitle("TilePane in JavaFX");
		
        stage.show();
	}
}
вертикальный TilePane в JavaFX

Некоторые основные методы TilePane:

  • void setAlignment​(Pos value): устанавливает выравнивание TilePane

  • static void setAlignment​(Node node, Pos value): устанавливает выравнивание элемента node внутри TilePane

  • void setHgap​(double value): устанавливает отступы между тайлами по горизонтали

  • static void setMargin​(Node node, Insets value): устанавливает отступы элементы от границ тайла

  • void setOrientation​(Orientation value): устанавливает ориентацию TilePane

  • void setPrefTileHeight​(double value): устанавливает предпочтительную высоту тайла

  • void setPrefTileWidth​(double value): устанавливает предпочтительную ширину тайла

  • void setTileAlignment​(Pos value): устанавливает выравнивание всех элементов внутри тайлов

  • void setHgap​(double value): устанавливает отступы между тайлами по вертикали

Размеры тайлов

По умолчанию размер каждого тайла устанавливается таким образом, чтобы он мог вместить все содержимое вложенного элемента. Но с помощью методов setPrefTileWidth() и setPrefTileHeight() можно установить соответственно ширину и высоту тайлов:

Button first = new Button("First");
Button second = new Button("Second");
Button third = new Button("Third");
Button fourth = new Button("Fourth");
Button fifth = new Button("Fifth");
Button sixth = new Button("Sixth");
		
TilePane tilepane = new TilePane(first, second, third, fourth, fifth, sixth);
tilepane.setPrefTileWidth(100);
tilepane.setPrefTileHeight(100);
Размер тайлов в TilePane в JavaFX
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850