#javafx
#javafx
Вопрос:
Я пытаюсь создать равносторонний треугольник с помощью JavaFX. Говорят, что используйте многоугольник и setLayoutX()
и setLayoutY()
. Итак, как это сделать? Это код, который я пробовал:
@Override public void start(Stage stage) throws Exception {
stage.setTitle("Board");
StackPane root = new StackPane();
Scene scene = new Scene(root, 600, 519);
stage.setScene(scene);
Polygon triangle = new Polygon();
stage.show();
}
Комментарии:
1. Что именно ты пытаешься сделать? Я не вижу никакого кода, размещенного здесь.
2. Извините, просто крошечный проект. @Override public void start(Stage stage) вызывает исключение { stage.setTitle(«Доска»); StackPane root = new StackPane(); Scene scene = новая сцена (root, 600, 519); stage.setScene(сцена); Полигональный треугольник = новый полигон(); stage.show(); } Я застрял в части полигонального треугольника, не знаю, что делать дальше.
3. В следующий раз просто отредактируйте сообщение. Не добавляйте код в комментарии.
4. Картер, этот мой ответ вообще помог? Прошел почти целый день без каких-либо отзывов от вас.
Ответ №1:
Две проблемы:
- Вы не добавили многоугольник в контейнер
- Вы не определили точки многоугольника
Ваш код должен быть примерно таким:
@Override
public void start (Stage stage) throws Exception {
stage.setTitle("Board");
Polygon triangle = new Polygon();
//triangle.setLayoutX(100);
//triangle.setLayoutY(400);
triangle.getPoints()
.addAll(new Double[] {300.0, 50.0, 250.0, 100.0, 350.0, 100.0,});
Group root = new Group(triangle); // You can replace with StackPane for center alignment
Scene scene = new Scene(root, 600, 519);
stage.setScene(scene);
stage.show();
}
Как только вы это сделаете, вы должны увидеть что-то вроде изображения ниже. Вам нужно определить координаты (x, y) для вашего треугольника.
Когда я раскомментировал строки setLayoutX()
и setLayoutY()
, результат был похож на изображение ниже.
Если вам нужен урок рисования в Java FX, загляните на этот сайт.
Комментарии:
1. Не могли бы вы сказать мне, что такое «новый двойной[] {300.0, 50.0, 250.0, 100.0, 350.0, 100.0,}» означает?
2. @CarterZhang это массив
(x, y)
координат вершин.