2013-04-24 42 views
2

我是Java的新手,但需要知道如果開發人員可以讓他/她改變JProgressBar的形狀。我的意思是,在我的情況下,我想改變形狀,使它看起來像一個圓圈或其他東西?改變JProgressBar的形狀

雖然我只是希望它從條形變成弧形,或者你可以說我想將條形變成任何其他形狀。我的進度條可能看起來像條形以外的曲線。我想在其中添加一條曲線。

+1

對於[示例](http://stackoverflow.com/a/11148842/230513)。 – trashgod 2013-04-24 03:10:39

+0

我想用它作爲弧線而不是線性形狀的方式,或者你可以說它也可以變成橢圓形嗎? – 2013-04-24 03:16:11

+0

*「任何提示」*用戶經常討厭開發者認爲是'kewl'*或任何想法的東西!「*堅持吧,直到你意識到爲什麼。 – 2013-04-24 03:24:19

回答

7

JProgressBar的外觀由組件的UI委託控制,通常來自BasicProgressBarUI。您可以提供您自己的代理,如here所示,並覆蓋所需的繪畫方法。

附錄:對於半圓形顯示器,您可能能夠利用JFreeChart庫中的DialPlot。一個完整的例子被討論here。您可以直接使用它或在您的UI委託中呈現圖表。

image

+0

我想改變形狀不是顏色感謝您的幫助徹底@trash – 2013-04-24 03:33:50

+0

你可以使用任何你想要的顏色;它不會自動匹配平臺的默認值,但您可以使用UI [默認值](http://stackoverflow.com/a/11148842/230513)作爲開始。 – trashgod 2013-04-24 03:45:58

+0

您也可以更改UI委託中的形狀,但是您可以從BasicProgressBarUI中重新使用較少的代碼。不是一件容易的事。查看http://javagraphics.blogspot.co.at/2008/05/angles-need-gui-widget-for-angles.html - 這裏給JSlider一個「角度UI」。 – lbalazscs 2013-04-24 12:28:11