2016-10-12 4 views
2

preserveRatioをFXMLのImageViewのサイズに使用しましたが、画像は拡大されずにフルサイズ私の場合)。 FXMLまたはCSSを使用してイメージのサイズを設定するにはどうすればよいですか?イメージをCSSで設定したボタンでImageViewの画像サイズを設定します

FXML

<Button 
     fx:id="buttonUp" 
     GridPane.columnIndex="0" 
     GridPane.rowIndex="0" 
     onAction="#buttonUp"> 
    <graphic> 
     <ImageView fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> 
     </ImageView> 
    </graphic> 
</Button> 

CSS

#buttonUp { 
    -fx-graphic: url('up.png'); 
} 

#buttonUp:pressed { 
    -fx-graphic: url("up_pressed.png"); 
} 

私はFXMLとCSSで私のスタイルを維持したいので、私はJavaFXのコードソリューションを望んでいません。

FXMLやCSSでこれが本当にできないのであれば、その場合はコメントを残してください。 FXMLで

イメージ

私は

<ImageView id="buttonDownImage" fitHeight="40.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true"> 
    <image> 
     <Image url="resources/down.png" /> 
    </image> 
</ImageView> 

をしようとすると、私は、ファイルが(CSSはそれを見つけることができる)があると確信しているとIntellJの自動補完も示唆しながらjava.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not foundが続きURLのresourcesから始めてください。

+0

''と置き換えて、何が起こるかを確認してください。 – GOXR3PLUS

+0

@ GoXR3Plus残念ながらそれは何もしません、私はスケーリングがとにかく何かによって却下されたときに、今はもっと大きなものにスケールするだけなので、私は期待どおりに思っています。 – PHPirate

+1

これを見てみましょう:http://stackoverflow.com/questions/40328355/graphic-automatically-fill-buttonこの場合、最も有用なのは '-fx-background-size:contains'でしょう。 – Abby

答えて

0

テストが、ImageView自体にCSSを使用してみていない:

CSSで
<Button 
     fx:id="buttonUp" 
     GridPane.columnIndex="0" 
     GridPane.rowIndex="0" 
     onAction="#buttonUp"> 
    <graphic> 
     <ImageView id="buttonUpGraphic" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> 
     </ImageView> 
    </graphic> 
</Button> 

、その後:画像が大きすぎる場合

#buttonUp #buttonUpGraphic { 
    -fx-image: url('up.png'); 
} 

#buttonUp:pressed #buttonUpGraphic { 
    -fx-image: url('up_pressed.png'); 
} 
+0

計画のように聞こえますが、画像がボタンから完全に消えてしまった場合、私はその理由を調べようとします。 – PHPirate

0

、よく、その後、それらのサイズを変更!悪い解決策、しかし何もないよりも良い。

関連する問題