我需要了解如何显示由Main javaFX应用程序加载的FXML文件中插入的元素,我的JavaFX应用程序主要是:
// imports omitted
public class Main extends Application {
@Override
public void start(Stage window) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("Standard.fxml"));
Scene mainGraphic = new Scene(root,500,500);
window.setTitle("Prova con FXML");
window.setMinHeight(500);
window.setMinWidth(500);
window.setScene(mainGraphic);
window.show();
}
}
此文件可以正常工作并正确加载FXML文件Standard.fxml
,问题是它没有显示顶部矩形,这是FXML文件:
// imports omitted
<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.myname.mypackage.Controller">
<stylesheets>
<URL value="@Standard.css"/>
</stylesheets>
<Rectangle id="ParteSuperiore"/>
</AnchorPane>
我显然已经创建了CSS文件,并使用所需的属性将元素样式化,这就是CSS:
#AnchorPane {
-fx-background-color: rgb(224, 246, 255);
}
#ParteSuperiore {
-fx-fill: rgb(255, 145, 28);
-fx-arc-height: 100px;
-fx-arc-width: 100px;
}
此文件有什么问题?我只能看到AnchorPane的背景颜色!我试图将Rectangle
放在<children>
元素内,但是我仍然只能看到AnchorPane的背景色,而看不到Rectangle!我应该使用区域而不是矩形吗?如果可以,我该如何指定宽度和高度?在JavaFX CSS reference中,并没有像矩形-fx-arc-height
那样给我设置宽度和高度的指示。
答案 0 :(得分:0)
您似乎在混淆Rectangle
的arcHeight
/ arcWidth
属性和JavaFX CSS Reference Guide的height
/ width
属性。根据文档,arcHeight
属性:
在矩形的四个角处定义圆弧的垂直直径。当且仅当圆弧宽度和圆弧高度属性均大于
0.0
时,矩形才会具有圆角。
还有height
属性:
定义矩形的高度。
arcWidth
和width
属性具有相似的文档。
width
和height
属性的默认值均为0.0
。由于您没有为Rectangle
定义宽度或高度,因此无需渲染任何内容。查看Rectangle
的{{3}}文档以及Shape
和Node
,无法从Rectangle
设置// imports omitted
<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.myname.mypackage.Controller">
<stylesheets>
<URL value="@Standard.css"/>
</stylesheets>
<Rectangle id="ParteSuperiore" width="100" height="100"/>
</AnchorPane>
的宽度或高度CSS 1 。您需要在代码或FXML文件中执行此操作。例如:
-fx-arc-width
您可能想要删除或至少更改CSS文件中的-fx-arc-height
和width
值。
1。查看implementation可以确认这一点。与height
和StyleableProperty
不同,arcWidth
和arcHeight
都不是bool is_socket(LPVOID s)
{
if (GetFileType(s) != FILE_TYPE_PIPE) return false;
return !GetNamedPipeInfo(s, NULL, NULL, NULL, NULL);
}
的实例。