我试图自学JavaFX,并试图创建一个简单的笑脸图像。但出于某种原因,我所有的形状都以中心为中心,而不是以X&Y坐标为中心。我想不出为什么。有人能帮我弄清楚吗?
下面是我的代码:
import javafx.*;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.*;
import javafx.stage.Stage;
public class smiley extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) throws Exception {
Circle head = new Circle(250, 250, 150);
head.setFill(Color.YELLOW);
Circle eyeL = new Circle(200, 175, 25);
eyeL.setFill(Color.BLACK);
Circle eyeR = new Circle(300, 175, 25);
eyeR.setFill(Color.BLACK);
double[] points = { 250.0, 200.0, 250.0, 275.0, 290.0, 275.0 };
Polygon nose = new Polygon(points);
Arc smile = new Arc(275.0, 300.0, 75.0, 50.0, 180.0, 180.0);
smile.setStroke(Color.RED);
smile.setFill(Color.YELLOW);
StackPane smiley = new StackPane();
smiley.getChildren().add(head);
smiley.getChildren().add(eyeL);
smiley.getChildren().add(eyeR);
smiley.getChildren().add(nose);
smiley.getChildren().add(smile);
Scene scene = new Scene(smiley, 500, 500);
primaryStage.setTitle("Smiley");
primaryStage.setScene(scene);
primaryStage.show();
}
}
这就是我最后得到的
StackPane把它的孩子放在一起。想想一叠煎饼。最后一个在上面,第一个在下面。如果您设置了边框/填充,那么子项将被放置在这些插图的中心。此外,StackPane将调整所有子区域的大小以适应内容区域,但如果这不可能,它将把它放在中心。我不认为这是您在这里的意图,所以尝试使用StackPane继承自的Pane类。
Pane pane = new Pane();
请检查这段代码,看看@Arun R在如何计算覆盖另一个矩形的矩形面积中所说的算法有什么问题 为什么它没有删除其他内部的矩形
今天我在家里的电脑上安装了netbean,以便在家做一些工作。我安装了java 8 JDK(151),并安装了包含所有内容的netbean(没有进行自定义安装)。然后我把我的项目从github上撤下来。 我的安装文件夹是在E:\netbean我的项目文件夹是默认的c: 我加载了项目,打开XAMPP并运行它。太好了,很管用。 然后我对HTML进行了更改(修复了我犯的一个拼写错误)。再次运行。找不到零
您将自动执行著名的歌曲“墙上的99瓶XXX”。你将打印这首歌所有99个诗句的歌词。用循环!如果你不知道歌词,用谷歌查一下。 该方案应: a.如果他们不到21岁,或者他们喜欢苏打水,那么歌词是“墙上有99瓶苏打水” B.如果他们超过21岁,那么是“99瓶啤酒” 您必须使用WHILE循环,并且counter变量必须是print语句的一部分! 所以第一节是: 99瓶苏打水挂在墙上 墙上有98瓶苏打水 最
我从JavaFXml开始,但我在编译程序方面遇到了问题。编译器显示了我的问题,我没有任何想法来解决这个问题。 我的Mine类: 我的控制器类: 我的sample.fxml文件 当我编译这个时,compiller会显示一个错误: 我试着解决它,就像在这一页上: https://github.com/openjfx/javafx-maven-plugin https://openjfx.io/open
问题内容: 我在TableView中添加了默认的TEST1和TEST2作为Name Col,但是在运行它时却没有显示。这是我使用过的两个类和一个fxml,有人可以给我一些有关此问题的建议吗? 仅一个包调用:controllerJBoxFXTest 第一类MainView.class包controllerJBoxFXTest; 在第二个MainController.java中,可以看到我添加了TES
我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 输入三角形的三条边