我不是JavaFX的资深程序员,想请教一下。如何在JavaFX中为按钮制作或设置不同的形状?默认情况下,按钮具有这些圆角矩形形状。我想做一个按钮形状像下面的图片,一个L形按钮。
我已经谷歌了这个话题很多次,但仍然没有找到解决办法。
你能帮助我吗?
尝试制作该形状的图像文件并使用Node.setGraphic()方法。示例:
public void start(Stage primaryStage){
String u = "http://www.clker.com/cliparts/9/1/5/2/119498475589498995button-red_benji_park_01.svg.med.png";
Image i = new Image(u);
Button x = new Button();
x.setGraphic(new ImageView(i));
BorderPane y = new BorderPane();
y.setCenter(x);
primaryStage.setScene(new Scene(y, 400, 400));
primaryStage.show();
}
它将显示一个大的红色按钮。但是使用你的图像。
您还可以将-fx-form CSS属性用于SVG路径字符串。通过指定形状,区域采用该形状而不是矩形或圆角矩形。
有一种方法可以去掉灰色的背景色。你可以设置它为透明的,然后你的按钮将只是图像。在你的例子中,x . set style("-FX-background-color:transparent ")x是你的按钮。
创建自定义按钮形状很容易完成,但是如何确保新形状也是按钮本身的“碰撞框”? 在本例中,我创建了两个 hexagnol 形状的按钮,并将它们正确对齐。问题是按钮的碰撞框仍然是矩形的,当您将鼠标从上部按钮移动到下部按钮时,您会注意到碰撞框是严格矩形的,并且使自定义形状变得毫无用处。 有没有办法创建自定义碰撞形状或碰撞检查? 完整的工作示例:
> 标高,同时具有自定义可绘制。 在用户触摸的地方启动涟漪效果。
我正在用JavaFX制作一个2D游戏,当检测到冲突时,我得到的结果相当不准确,因为玩家精灵被设置为矩形的填充,因此没有预期的边框。有没有办法让我自己的形状尽可能准确? 我的另一个想法是检查碰撞的像素是否透明,然后如果它是,则不会结束游戏。有谁知道一种方法可以获得碰撞像素的坐标,以便从那里我可以使用PixelReader进行检查? 如果有人知道更好的方法,请告诉我! 谢谢,伊森
问题内容: 我想在UITextField上创建自定义清除按钮,即使用rightView并将图像放在此处,问题是将原始的清除按钮事件附加到该自定义rightView上。 在Objective-C中,我可以这样做: 现在如何将其转换为Swift?或任何解决方法? 问题答案: 您可以将自定义按钮添加为类似这样的右视图
我正在努力修改MUI next(v1)中的按钮颜色。 我该如何设置muitheme,使其行为与bootstrap相似,这样我就可以用“btn危险”表示红色,“btn成功”表示绿色? 我尝试了自定义,但它不能正常工作(悬停颜色不会改变),而且似乎是重复的。我有什么选择?
问题的核心是,我不能刷新或更改一个场景的节点的内容(这里是TablesMain)从另一个类(这里是NamePriceCell)。 我正在使用主StackPane(TableMainController扩展StackPane)构建和应用程序,其中包含其他节点,其中一些节点是ListView。在一个特定的ListView(比如“readitemslistview”)中,我创建了一个自定义ListCel