Как добавить 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д