JavaFX 사각형 버튼

Sheeraz Gul 2024년2월15일
JavaFX 사각형 버튼

Java에서 ToolBar 클래스를 확장하여 사각형 버튼을 만들 수 있습니다. 이 튜토리얼은 JavaFX에서 사각형 버튼을 만드는 방법을 보여줍니다.

JavaFX에서 사각형 버튼 만들기

버튼은 JavaFX에서 Button 클래스를 인스턴스화하여 생성됩니다. 버튼은 JavaFX에서 일부 활동을 실행하는 데 사용됩니다.

JavaFX.scene.control.Button 클래스로 표현됩니다. 버튼에는 텍스트나 아이콘이 있을 수 있습니다.

사각형 버튼을 생성하려면 버튼의 크기를 설정해야 합니다. 다음 함수는 JavaFX에서 버튼의 크기를 조작하는 데 사용됩니다.

기능:

button.setMinWidth() button.setMaxWidth() button
    .setPrefWidth()

        button.setMinHeight() button.setMaxHeight() button
    .setPrefHeight()

        button.setMinSize() button.setMaxSize() button.setPrefSize()

위의 방법을 사용하여 버튼의 크기를 설정하여 정사각형으로 만들 수 있습니다. JavaFX에서 사각형 버튼을 만들려면 아래 단계를 따르세요.

  • 먼저 Application 클래스를 확장하여 클래스를 만듭니다.
  • start() 메서드를 구현합니다.
  • Button 클래스를 인스턴스화하여 버튼을 만듭니다.
  • ToolBar 클래스를 확장하는 다른 클래스를 만듭니다. 이 클래스에는 layoutChildren() 메소드가 있습니다.
  • layoutChildren() 메소드는 버튼의 크기를 지정합니다. setPrefWidth()setPrefHeight()를 동일한 값으로 사용하여 정사각형 버튼을 만들 수 있습니다.
  • ToolBar 클래스를 상속하는 클래스의 개체를 만들고 클래스를 인스턴스화하고 단추를 전달합니다.
  • BorderPane 클래스를 인스턴스화하고 ToolBar 클래스의 위 개체를 전달하여 테두리 창을 만듭니다.
  • 장면 개체를 만들고 장면 클래스를 인스턴스화하고 BorderPane 개체를 장면에 전달합니다.
  • setScene() 메서드를 사용하여 무대에 장면을 추가합니다.
  • show() 메서드를 사용하여 스테이지를 표시합니다.
  • 마지막으로 응용 프로그램을 시작합니다.

전체 소스 코드:

package delftstack;

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

public class JavaFX_Square_Button extends Application {
  @Override
  public void start(Stage Demo_Stage) {
    Button Button1 = new Button("One");
    Button Button2 = new Button("Two Two");
    Button Button3 = new Button("Three Three Three");

    Square_Button_ToolBar Tool_Bar = new Square_Button_ToolBar();
    Tool_Bar.getItems().addAll(Button1, Button2, Button3);

    BorderPane Border_Pane = new BorderPane();
    Border_Pane.setTop(Tool_Bar);

    Scene Demo_Scene = new Scene(Border_Pane, 500, 500);
    Demo_Stage.setScene(Demo_Scene);
    Demo_Stage.show();

    Tool_Bar.requestLayout();
  }

  // A derivative of the ToolBar class to resize all buttons of the same size and square.
  class Square_Button_ToolBar extends ToolBar {
    @Override
    protected void layoutChildren() {
      double Min_Pref_Size = Calculate_Pref_Child_Size();
      for (Node x : getItems()) {
        if (x instanceof Button) {
          ((Button) x).setPrefWidth(Min_Pref_Size);
          ((Button) x).setPrefHeight(Min_Pref_Size);
        }
      }
      super.layoutChildren();
    }
    private double Calculate_Pref_Child_Size() {
      double Min_Pref_Size = 0.0d;
      for (Node x : getItems()) {
        if (x instanceof Button) {
          Min_Pref_Size = Math.max(Min_Pref_Size, x.prefWidth(-1));
        }
      }
      return Min_Pref_Size;
    }
  }
  public static void main(String[] args) {
    launch(args);
  }
}

위의 코드는 텍스트가 맞는 크기의 사각형 버튼을 생성합니다.

출력:

JavaFX 사각형 버튼

작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

관련 문장 - Java JavaFX