HOWTO · Java
창의 JavaFX 센터 텍스트
이 튜토리얼은 JavaFX의 창에서 텍스트를 가운데에 맞추는 방법을 보여줍니다.
Pane 클래스에서 노드를 중앙에 배치하는 기능은 없지만 노드를 중앙에 배치하려면 StackPane을 사용할 수 있습니다. 이 튜토리얼은 StackPane을 사용하여 JavaFX에서 텍스트 또는 기타 노드를 중앙에 배치하는 방법을 보여줍니다.
창의 JavaFX 센터 텍스트
StackPane은 자식을 다른 사람과 쌓기 위해 레이아웃하는 데 사용되는 일종의 창입니다. StackPane을 정렬하여 창의 노드를 중앙에 배치할 수 있습니다.
StackPane의 기본 정렬 속성은 Pos.CENTER입니다. JavaFX StackPane은 JavaFX.scene.layout.StackPane에서 인스턴스화됩니다.
StackPane에는 다른 목적으로 사용되는 두 개의 생성자가 있습니다. StackPane의 구문은 다음과 같습니다.
StackPane Demo = new StackPane();
StackPane의 생성자는 다음과 같습니다.
StackPane(): 기본Pos.CENTER정렬로 레이아웃이 생성됩니다.StackPane(Node…. nd): 레이아웃이 기본 정렬로 생성됩니다.
정렬 속성은 StackPane의 노드를 정렬하는 데 사용할 수 있습니다. StackPane이 정렬과 함께 작동하는 세 가지 방법이 있습니다.
getAlignment(): 정렬 속성 값을 가져오는 메서드입니다.setAlignment(Posvalue): 정렬 속성 값을 설정하는 메서드입니다.setAlignment(Node 자식, Posvalue):StackPane에서 자식 노드에 대한 정렬 속성 값을 설정하는 메서드입니다.
StackPane을 사용하여 창에서 노드 텍스트를 중앙에 배치하는 예를 시도해 보겠습니다. 예를 참조하십시오.
package delftstack;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Sphere;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class JavaFx_StackPane extends Application {
@Override
public void start(Stage DemoStage) {
// Create the text to be centered
Text Demotext = new Text("Centered Text");
// Font for the text
Demotext.setFont(Font.font(null, FontWeight.BOLD, 20));
// color of the text
Demotext.setFill(Color.BLUE);
// position of the text
Demotext.setX(20);
Demotext.setY(50);
// circle
Circle DemoCircle = new Circle(700, 500, 300);
// fill color
DemoCircle.setFill(Color.LIGHTBLUE);
DemoCircle.setStroke(Color.BLACK);
// Now Create a Stackpane
StackPane DemoStackPane = new StackPane();
// Margin for the above circle
DemoStackPane.setMargin(DemoCircle, new Insets(50, 50, 50, 50));
ObservableList li = DemoStackPane.getChildren();
// Add child nodes to the pane
li.addAll(DemoCircle, Demotext);
// Create a scene
Scene DemoScene = new Scene(DemoStackPane);
// Set title
DemoStage.setTitle("Centered Text Sample");
// Add scene to the stage
DemoStage.setScene(DemoScene);
// Display the results
DemoStage.show();
}
public static void main(String args[]) {
launch(args);
}
}
코드는 StackPane에 텍스트와 원을 만들고 중심 위치의 기본 정렬을 사용합니다. 출력 참조:
