Как добавить Text при добавлении на Canvas - Java

Узнай цену своей работы

Формулировка задачи:

делаю объект текста и хочу разместить эту строку на холсте,
gc.strokeLine(50, 80, 200, 80);
Text t = new Text();
t.setText("Начало линии");
gc.fillText(" " +t, 50, 75);
проблема в том что кроме значения setText еще выводятся лишние данные в виде координат, центрирования, шрифта еще неизвестно чего, как убрать все это лишнее весь код
import javafx.application.*;
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javafx.scene.control.*;
import javafx.scene.effect.*;
import javafx.scene.paint.*;
import javafx.scene.shape.*;
import javafx.scene.text.*;
import javafx.geometry.*;
import javafx.event.*;
import javafx.scene.canvas.*;
import java.awt.event.InputEvent;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.shape.*;
 
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.event.EventHandler;
import javafx.scene.input.InputEvent.*;
import javafx.scene.Node;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.PerspectiveTransform;
import javafx.stage.Stage; 
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.scene.input.KeyEvent; // пакет обработки нажатий с клавы javafx
import javafx.util.converter.*;
import javafx.scene.input.*;
import java.util.Scanner;
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.file.*;
import java.net.*;
import java.text.*;
import javafx.util.*;
import java.util.Timer;
import java.util.regex.Pattern;
import javafx.scene.text.*;
import javafx.fxml.FXML;
import javafx.scene.canvas.*;

public class Ca extends Application {
private void Shapes(GraphicsContext gc) {
gc.strokeLine(50, 80, 200, 80);
Text t = new Text();
t.setText("Начало линии");
 
gc.fillText(" " +t, 50, 75);
}
GraphicsContext gc;
public static void main(String[] args) {
launch(args);
}
public void start(Stage myStage) throws Exception {
myStage.setTitle("Title");
AnchorPane rootPane = new AnchorPane();
Scene myScene = new Scene(rootPane, 700, 400);
myStage.setScene(myScene);
 
myStage.setMaxWidth(1200.0);
myStage.setMaxHeight(900.0);
myStage.setMinWidth(600.0);
myStage.setMinHeight(400.0);
 
// Canvas
Canvas myCanvas = new Canvas(500, 360);
gc = myCanvas.getGraphicsContext2D();
gc.strokeRect(2, 2, myCanvas.getWidth() - 3, myCanvas.getHeight() - 3);
Shapes(gc);

// привязки холста
AnchorPane.setLeftAnchor(myCanvas, 40.0);
AnchorPane.setTopAnchor(myCanvas, 20.0);
rootPane.getChildren().add(myCanvas);
myStage.show();
    }
}
прикладываю скрин результата

Решение задачи: «Как добавить Text при добавлении на Canvas»

textual
Листинг программы
        gc.fillText(" " + t.getText(), 50, 75);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5