2017-05-29 9 views
1

三角形の小さなボタンがあります。しかし、それは2次元の形状に似ていて、実際にはボタンの感触を持っていません。以下の私のコードを見てください:ボタンを前面に持っていくにはどうすればいいですか

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(); 

は、どのように私はそれがより多くのボタンではなく、フラットな2次元形状のように見えるようにすることができます。このボタンのサイズを大きくすることはできません。小さなサイズの図形をボタンのように見せるための代替手段はありますか?

+0

これはボタンなので、.I set()でカスタムImageIconを追加するのはどうですか? –

+0

@NickTritsis - はい、私はそれについて考えていましたが、私のアプリケーションの他のボタンと一貫しないので、私はそれを行うことができません。 – Ulkurz

答えて

1

実際には、スタイリング,CSS、特にJavaFXの問題です。 ボタンのスタイルを変更して、同じ形(三角形)にすることができます。

some style

:それはこのスタイルを与える

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); 

は、例えば私が 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)"; 

そして、あなたのコードを維持するから借りたこのCSS style適用した場合あなたのオリginalものである:あなたがそのサイト上のボタンの他​​の例(スタイル)(3Dの一種)を見ることができます

original style

注(それはあなたの好み次第です)。

+0

ありがとう、私はこれを試してみます。 – Ulkurz

関連する問題