Как добавить Text при добавлении на Canvas - Java
Формулировка задачи:
делаю объект текста
и хочу разместить эту строку на холсте,
проблема в том что кроме значения setText еще выводятся лишние данные
в виде координат, центрирования, шрифта еще неизвестно чего, как убрать все это лишнее
весь код
прикладываю скрин результата
gc.strokeLine(50, 80, 200, 80); Text t = new Text(); t.setText("Начало линии"); gc.fillText(" " +t, 50, 75);
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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д