2013-07-09 48 views
9

ScrollPaneのデフォルトの背景とボーダーに関する問題があります。 このスタイルを使用すると、問題が明確になりました。JavaFX ScrollPaneのボーダーと背景

setStyle("-fx-background-color:blue; -fx-border-color:crimson;"); 

Image show the background and the border

私はこのスタイルを試してみたし、運が唯一の赤の境界線がなくなっていないと青のいずれかで私を残してしまいました。

setStyle("-fx-background-color:blue; -fx-background-insets:0; -fx-border-color:crimson; -fx-border-width:0; -fx-border-insets:0;"); 

Image show the background and the border after my best work around

私はこの古いポストJavaFX Hide ScrollPane gray border見てきたとhttp://docs.oracle.com/javafx/2/ui_controls/editor.htm

このコード行は動作しないでもない

scrollPane.getStyleClass().add("noborder-scroll-pane"); 

おかげ

+0

新しいデフォルトテーマのJavaFX 8では、ScrollPaneの背景色を設定するのが難しい場合があります。そのような場合は、http:// stackoverflowを参照してください。com/questions/22952531/scrollpanes-in-javafx-8-always-have-grey-background –

答えて

15

私が持っています投稿されたソリューションが見つかりましたここでは他の人たちが時間を無駄にする必要はないでしょう。

このコマンドを使用してライブラリから抽出されたJavaFx(caspian.css)のデフォルトのCSSを調べます。

jar xf jfxrt.jar com/sun/javafx/scene/control/skin/caspian/caspian.css 

私は逃した1だから、これは私が使用しているCSSクラスです

-fx-padding: 0; 

であることを見ることができました。

.scroll-pane { 
    -fx-background-insets: 0; 
    -fx-padding: 0; 
} 

.scroll-pane:focused { 
    -fx-background-insets: 0; 
} 

.scroll-pane .corner { 
    -fx-background-insets: 0; 
} 
1

あなたが使用することができます。

-fx-background-color: transparent; 
-fx-control-inner-background: transparent; 

をあなただけ-fx-background-colorを設定する場合は、色の変化が唯一のScrollPaneの内側のエッジに適用され、中央部の色はまだ変更されていませんが表示されます。

-fx-control-inner-backgroundプロパティは、その中央領域の色を変更します。使用することでシンプルなソリューション、があるようです

7

"-fx-背景:RGB(80,80,80)を;"、つまり、

scrollPane.setStyle("-fx-background: rgb(80,80,80);"); 

、少なくともこれは私のために完璧に動作します一方、 "-fx-background-color:rgb(80,80,80);"または "-fx-control-inner-background:rgb(80,80,80);" javafx 8では動作しません。 "-fx-background-color:rgb(80,80,80);"以前のバージョンのjavafxで動作しました。

19

のJavaFX 8の現在のバージョンでは、あなたが完全に境界線を削除するには、エッジ・ツー・エッジスタイルクラスを使用することができますが:

<ScrollPane styleClass="edge-to-edge"/> 
+2

非常に良い発見。 [JavaFX CSSリファレンス](https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#scrollpane)には記載されていませんが、 JavaFX 8用のデフォルトの 'modena.css'スタイルシート。 – jewelsea

7

を設定する前に、この最初の

.scroll-pane > .viewport { 
    -fx-background-color: transparent; 
} 

を使用して試してみてください背景色

+0

投票率の高いソリューションが私にとってはうまくいかなかったのですが、これはそうでした! – gbmhunter

関連する問題