Netbeans 如何使用场景生成器在JavaFXML上创建图像按钮?
我正在使用netbeans,希望使用桌面上的媒体文件来替换这个无聊的按钮 这是我的代码。 我想要它,使图像成为按钮Netbeans 如何使用场景生成器在JavaFXML上创建图像按钮?,netbeans,javafx,fxml,scenebuilder,Netbeans,Javafx,Fxml,Scenebuilder,我正在使用netbeans,希望使用桌面上的媒体文件来替换这个无聊的按钮 这是我的代码。 我想要它,使图像成为按钮 <Button layoutX="252.0" layoutY="177.0" mnemonicParsing="false" prefHeight="57.0" prefWidth="135.0" text="Button!" textFill="BLUE"> <font> <Font name="Avenir Next R
<Button layoutX="252.0" layoutY="177.0" mnemonicParsing="false" prefHeight="57.0" prefWidth="135.0" text="Button!" textFill="BLUE">
<font>
<Font name="Avenir Next Regular" size="13.0" />
</font>
</Button>
提前感谢:)在您的fxml文件中,导入图像包:
<?import javafx.scene.image.*?>
然后,在按钮之前,假设image.png位于“images/”目录下,“images/”与.fxml位于同一目录下:
<fx:define>
<Image fx:id="btnImage" url="images/image.png" />
</fx:define>
然后只需将以下内容添加到按钮定义中
<Button layoutX="252.0" layoutY="177.0" mnemonicParsing="false" prefHeight="57.0" prefWidth="135.0" text="Button!" textFill="BLUE">
<font>
<Font name="Avenir Next Regular" size="13.0" />
</font>
<graphic>
<ImageView image="$btnImage" />
</graphic>
</Button>
以上答案部分正确,没有在url和“ImageView”中指定“@”和“$”符号,如
@符号用于区分字符串和相对目录,如果我们传递时没有@符号,它将作为字符串而不是相对目录。
<fx:define>
<Image fx:id="NewTracker" url="@resources/NewTracker.bmp"/>
</fx:define>
<Button layoutX="100.0" layoutY="100.0" mnemonicParsing="false" text="New Tracker" >
<graphic>
<ImageView image="$NewTracker"/>
</graphic>
</Button>
该问题询问如何使用场景生成器添加。下面是如何
从控件中拖动imageview并将其放置在按钮顶部。请注意层次结构。应该放在按钮里面。然后,您可以在inspector中调整大小、源和其他内容
在场景生成器中获得此结果请参见:
<fx:define>
<Image fx:id="NewTracker" url="@resources/NewTracker.bmp"/>
</fx:define>
<Button layoutX="100.0" layoutY="100.0" mnemonicParsing="false" text="New Tracker" >
<graphic>
<ImageView image="$NewTracker"/>
</graphic>
</Button>