JavaFX中场景背景和新标签之间的问题
我正准备用JavaFX开发一款蛇游戏(我是benniger)。 在主方法中,我设置了scene.setFill(Color.BLACK),因此背景是完全黑色的。当我添加标签时,当我尝试实例化它时,背景消失,标签不显示在屏幕上。 如果我添加矩形或圆形,但仅添加标签、按钮和ecc,则不会发生这种情况 我怎样才能解决这个问题?我认为这是一个简单的问题,但我自己解决不了 /Main.javaJavaFX中场景背景和新标签之间的问题,java,javafx,graphics,label,Java,Javafx,Graphics,Label,我正准备用JavaFX开发一款蛇游戏(我是benniger)。 在主方法中,我设置了scene.setFill(Color.BLACK),因此背景是完全黑色的。当我添加标签时,当我尝试实例化它时,背景消失,标签不显示在屏幕上。 如果我添加矩形或圆形,但仅添加标签、按钮和ecc,则不会发生这种情况 我怎样才能解决这个问题?我认为这是一个简单的问题,但我自己解决不了 /Main.java GamePanel g = new GamePanel(); BorderPa
GamePanel g = new GamePanel();
BorderPane root = new BorderPane();
//Scene scene = new Scene(root,400,400, Color.BLACK);
Scene scene = new Scene(root,400,400);
scene.setFill(Color.BLACK);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("SnakeFX");
primaryStage.show();
root.getChildren().add(g);
g.requestFocus();
/java(我只放了函数initialize()的一部分
是构造函数的第一个函数,用于初始化
游戏图形,必须包含我的标签)
void initialize(){
/*如果我画这条线,背景上的黑色就会消失
并且标签不会出现在屏幕上。
没有这条线,游戏运行得非常完美,但是我需要添加这条线
乐谱呢*/
标签l=新标签(“测试”);//这是一行
对于(inti=0;i这是一个JavaFx错误(请参阅)
您在第二张图像中看到的是根节点(BorderPane)的背景色(在javafx默认主题中定义,它是不透明的)。这是正确的状态-第一张图像显示了上面链接的答案中描述的错误
您可以轻松解决问题:
从根节点删除背景色,使场景的背景色可见:
root.setBackground(Background.EMPTY);
或者,将根节点的背景颜色设置为黑色:
root.setBackground(new Background(new BackgroundFill(Color.BLACK, null, null)));
您能将“application.css”文件添加到您的问题中吗?Thanksit是空的。我没有使用它。@DustinRSee:。某些部分缺少代码的一部分。您只是实例化了一个标签,它根本不会添加到场景中,因此不会更改任何内容。请遵循@Sedricks的建议,在执行此操作时,您有时会自己发现问题,因为您需要以某种方式接触代码的所有相关部分。@Ignatimus问题在于。同样,当abel没有添加到场景中,它会更改背景颜色。这是一件奇怪的事情。我没有将标签添加到scsne,以表明问题仍然存在,当时我只是实例化了标签。我解决了这个问题,现在屏幕仍然是黑色的,但为什么我无论如何都看不到标签?您是否已将标签添加到场景中(getChildren().add(l)
)您是否已将其文本颜色更改为黑色背景上可见的任何颜色?
root.setBackground(new Background(new BackgroundFill(Color.BLACK, null, null)));