我怎样才能把我的按钮前面
问题描述:
我有一个三角形的小按钮。然而,它看起来更像是一个二维形状,并没有真正的按钮感。请看看下面我的代码:我怎样才能把我的按钮前面
private String style =
"-fx-min-width: 10px; " +
"-fx-min-height: 10px; " +
"-fx-background-color: grey;";
Button btn = new Button();
btn.setShape(new Polygon(new double[]{
0.0, 0.0,
2.0, 3.0,
0.0, 6.0
}));
btn.setStyle(style);
btn.toFront();
我怎样才能使它看起来更像一个按钮,而不是2D平面形状。请注意,我无法增加此按钮的大小。有没有其他方法可以使小尺寸的形状看起来更像是一个按钮?
答
其实这是造型,CSS
尤其是JavaFX
的问题。 您可以更改按钮的样式并保持相同的形状(三角形)。
例如,如果我申请这个CSS style
这是我从here
String style =
"-fx-background-color: "
+ "linear-gradient(#686868 0%, #232723 25%, #373837 75%, #757575 100%),"
+ "linear-gradient(#020b02, #3a3a3a),"
+ "linear-gradient(#9d9e9d 0%, #6b6a6b 20%, #343534 80%, #242424 100%),"
+ "linear-gradient(#8a8a8a 0%, #6b6a6b 20%, #343534 80%, #262626 100%),"
+ "linear-gradient(#777777 0%, #606060 50%, #505250 51%, #2a2b2a 100%);"
+ "-fx-background-insets: 0,1,4,5,6;"
+ "-fx-background-radius: 9,8,5,4,3;"
+ "-fx-padding: 15 30 15 30;"
+ "-fx-effect: dropshadow(three-pass-box , rgba(255,255,255,0.2) , 1, 0.0 , 0 , 1)";
而且让你的代码借来的:
Button btn = new Button();
btn.setShape(new Polygon(new double[]{
0.0, 0.0,
2.0, 3.0,
0.0, 6.0}));
btn.setStyle(style);
它会给这种风格:
当你的ori ginal一个是:
请注意,您可以看到在该网站上的按钮以外的例子(样式)(一种3D的)(这完全取决于你的喜好)。
+0
谢谢,我会试试这个。 – Ulkurz
因为它是一个按钮,如何使用.setIcon()向其添加自定义ImageIcon? –
@NickTritsis - 是的,我曾考虑过它,但我不能这样做,因为它不会与我的应用程序中的其他按钮一致。 – Ulkurz