我目前從SwingX
庫中獲得DropShadowBorder
類(它擴展了javax.swing.border.Border
類),因此這是常規的Border
的實例。我想圍繞我的未裝飾JFrame
繪製此邊框。我目前使用我的JFrame
內部下面的方法來設置邊框:Java:如何在未裝飾的JFrame周圍繪製邊框?
DropShadowBorder b = new DropShadowBorder(Color.BLACK, 0, 10, 0.2f, 10, true, true, true, true);
this.getRootPane().setBorder(b);
注:我使用的框架的根窗格上繪製邊界,因爲框架不支持邊界本身。
的問題是,在邊框組件本身的內部抽,你可以在圖片波紋管看到,陰影繪製邊框時內,靠着框架本身的界限:
注意:(陰影)邊框是在框架內部而不是框架外部繪製的。
使用什麼樣的邊框並不重要,它們都是在JFrame
本身內部繪製的。
我的問題是:是否有可能在框架周圍繪製任何邊框,而不僅僅是在框架的邊界內?可以用來解決這個問題
的一種方式,是創建一個不同的未修飾的全屏窗口,它是透明的,正常的窗口放在這個上面。這個全屏窗口用於繪製陰影,所以陰影不需要在框架中繪製。這是獲得類似結果的解決方案,這是而不是但我想要的。我想在框架外畫一個邊框。這些解決方案通常會導致其他問題。
'this.getContentPane()setBorder(B);',但更好的是有把'JPanel'用'Borders' – mKorbel
'是有可能在框架本身周圍繪製任何邊框,而不是圍繞框架的根目錄?「 - 不。您嘗試解決什麼問題? – camickr
我想爲未裝飾的JFrame添加陰影。我現在有一個邊框可以創建陰影,就像你在我的問題的圖片上看到的一樣。問題出在這些邊界上,它被繪製在組件的邊界被設置。例如,在該圖像上,邊框繪製在邊框的內側。有沒有辦法在框架的外部繪製這個陰影邊界? 注意:我已經更新了這個問題,使一切變得更加清晰。 –