JavaFX에서 캔버스 지우기

MD Aminul Islam 2024년2월15일
JavaFX에서 캔버스 지우기

JavaFX에서 캔버스는 일련의 그래픽 명령을 사용하여 다양한 모양과 구성 요소를 그리는 이미지와 같습니다. 이 노드는 필요한 높이와 무게로 구성됩니다.

JavaFX 캔버스를 사용하여 사각형, 타원, 원 등 다양한 도형을 화면에 그릴 수 있는 UI 컴포넌트를 생성할 수 있습니다. 그 특별한 UI 구성 요소를 캔버스라고 합니다.

그러나 때로는 캔버스에서 그림을 제거하거나 수정해야 합니다.

이 기사에서는 캔버스를 제거하거나 지우는 방법을 살펴보겠습니다. 또한 이해하기 쉽도록 필요한 코드 및 설명과 함께 이 주제에 대해 논의합니다.

JavaFX에서 캔버스 지우기

clearRect()라는 메서드를 사용하면 특정 구성 요소를 제거하거나 캔버스를 지울 수 있습니다. 자세히 논의합시다.

캔버스에 타원을 만들려면 아래 코드를 사용할 수 있습니다.

Diameter = Math.max(Width,
    Height); // Create a mathematical calculation for the ovel with necessary height an weight
if (filledColor == null)
  g.drawOval(x, y, Width, Height); // Draw the oval without fill it with color
else
  g.fillOval(x, y, Width, Height); // Draw the oval and fill it with color
break;

프로그램에 이 코드를 포함하면 캔버스에 타원이 그려지는 것을 볼 수 있습니다. 캔버스에서 타원을 제거하거나 캔버스를 지우려면 아래 코드를 사용할 수 있습니다.

g.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());

위에서 공유한 코드는 그림을 제거하고 화면을 지웁니다.

이 방법의 일반적인 형식은 다음과 같습니다.

clearRect( X_Position, Y_Position, Canvas_Height, Canvas_Width )

캔버스를 지우는 데만 사용할 버튼의 작업으로 이것을 포함할 수 있습니다.

아래는 이 방법을 사용하는 간단한 캔버스의 예입니다.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class FxCanvas extends Application {
  public static void main(String[] args) {
    Application.launch(args); // Launch the application
  }

  @Override
  public void start(Stage PrimaryStage) {
    Canvas canvas = new Canvas(500, 200); // Create the Canvas
    GraphicsContext g = canvas.getGraphicsContext2D(); // Create a 2D graphics context on the canvas
    g.setLineWidth(3.0); // Set line width
    g.setFill(Color.RED); // Set fill color
    g.fillRoundRect(50, 50, 300, 100, 10, 10); // Draw a rounded Rectangle on the canvas
    g.clearRect(80, 80, 140, 50); // Clear the rectangular area from the canvas
    Pane pn = new Pane(); // Create a Pane
    // Provide necessary styles
    pn.setStyle(
        "-fx-padding: 10; -fx-border-style: solid inside; -fx-border-width: 2; -fx-border-insets: 5; -fx-border-radius: 5; -fx-border-color: blue;");
    pn.getChildren().add(canvas); // Add the canvas to the Pane
    Scene scene = new Scene(pn); // Create a Scene
    PrimaryStage.setScene(scene); // Add the Scene to the Stage
    PrimaryStage.setTitle("Clearing Canvas area"); // Set the title of the application
    PrimaryStage.show(); // Display the Stage
  }
}

위의 예제 코드를 컴파일하고 환경에서 실행하면 아래 출력이 표시됩니다.

출력:

JavaFX 투명 캔버스 출력

IDE가 라이브러리 및 패키지의 자동 포함을 지원하지 않는 경우 기억하십시오. 그런 다음 이러한 필수 라이브러리 및 패키지를 수동으로 컴파일하기 전에 포함해야 할 수 있습니다.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

관련 문장 - Java JavaFX