2013-10-10 15 views
3

我正在用Java創建一個桌面應用程序,其中包含大量自定義用戶界面。 它也有面包屑。 我已經擴展了JButton類來爲我的Breadcrumb按鈕定製它。以像素爲單位將JButton文本移動到其圖標上

這是預期麪包屑的屏幕截圖。

http://puu.sh/4MtvZ.jpg

enter image description here

此麪包屑的背景是一個ImageIcon。 但現在,我無法將JButton文本完全對齊到此背景圖標上。

這是實際麪包屑的屏幕截圖。

http://puu.sh/4MtDc.png

enter image description here

我用下面的代碼來對齊文本。

setHorizontalTextPosition(CENTER); 
setVerticalTextPosition(CENTER); 

那麼,是他們的,我可以在像素本文移動到其正確位置的方法嗎?

而且,我希望根麪包屑按鈕「方案」重疊其前面的麪包屑按鈕「2000 Avenues」的某些部分,如預期麪包屑截圖所示! 我該如何做到這一點?

回答

3

查看Overlap Layout的一個解決方案。

那麼,他們是一種方式,我可以將此文本像素移動到正確的位置?

我不明白這個問題。爲什麼你要將對齊設置爲居中,如果你想讓它對齊左邊。

編輯:

我明白了。您只是使用按鈕輪廓的圖標,然後在圖標頂部繪製文本。我以爲你使用的是帶有文字的自定義形狀的按鈕)。您可以使用默認的垂直/水平文本位置設置。對於重疊佈局

button.setIconTextGap(10 - button.getIcon().getIconWidth()); 
+0

感謝:

要將文字向左移動就可以使用。而且,左對齊不是解決方案,因爲它會導致此輸出。 http://puu.sh/4MzSe.png 但我想設置文本有點像預期的截圖一樣。文本「方案」具有足夠的左邊距。 – Akshat

+0

@Akshat,請參閱編輯。 – camickr

+0

另外,我發現了另一種方式,通過重寫JButton的paintComponent()並在drawString()的任意位置繪製文本。但我認爲你的解決方案要好得多。以下是實際麪包屑的最終截圖,http://puu.sh/4MDnL.png – Akshat

相關問題