我有一堆擴展JavaFX Button的自定義按鈕。他們是這樣的:爲什麼setPadding(getPadding())改變了JavaFX按鈕的外觀?
我已經添加在構造函數中這一行:
setPadding(Insets.EMPTY);
和按鈕改變了他們的樣子:
我只想改變左右填充,所以我想知道原始值是什麼。我在構造函數中放置了一個斷點(在setPadding
之前),並在調試器中運行了getPadding()
。令我吃驚的是,結果是0, 0, 0, 0
- 那就是Insets.EMPTY
。
所以我跑了一個實驗 - 我已經改變了以前添加的行這樣的:
setPadding(getPadding());
和按鈕失去填充,即使插圖不應該改變。如何解釋?
因此,獲得您想要的實際效果的方法是在外部樣式表中用您自己的替換填充設置。 [默認填充](http://hg.openjdk.java.net/openjfx/8u60/rt/file/996511a322b7/modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/ modena/modena.css)是'-fx-padding:0.333333em 0.666667em 0.333333em 0.666667em; '。 –