2017-07-07 106 views
0

我試圖將現有的Java應用程序「嵌入」到我自己的應用程序中。 現有的應用程序是一個JFrame,並添加了許多組件。我將代碼複製到我的項目中,並將JFrame替換爲新的JPanel,然後將其添加到我自己的應用程序中。Java將JFrame替換爲JPanel

問題是畫在JPanel上的所有東西都會向上移動一小部分(例如〜20px)。我想知道是否與窗戶菜單等有關,但到目前爲止,除了在繪畫時手動添加偏移量(絕對不理想!)之外,還沒有找到解決方案。

我知道沒有代碼可能很難提供有用的建議,但我想知道的是,JFrameJPanel的行爲方式會不同,會導致這種情況嗎?或者還有什麼明顯的解決辦法嗎?

+3

我有一隻小馬,猜猜它是什麼顏色 - 如果沒有某種可以演示你的問題的可運行示例,我們只會猜測你的小馬是什麼顏色,哪種不會幫助任何人:( - 不,沒有什麼「顯而易見的」,這將導致這個 – MadProgrammer

+1

@MadProgrammer這是一個不公平的問題,小馬是一個獨角獸,它是彩虹色 –

+2

@AndrewThompson該死的,你知道我很好 – MadProgrammer

回答

0

一個解決方案是創建一個空白邊框。嘗試是這樣的:

panelName.setBorder(BorderFactory.createEmptyBorder(20, 0, 0, 0)); 

這將在JPanel下降了20個像素移位的一切,它應該解決您的問題。嘗試調整像素數量直到找到中心。

看看this post

+0

*「這是一個JPanels有問題」 * - 從什麼時候開始?我從來沒有讓面板自己偏移,沒有我做任何事情來保證它,所以,不是真正解決問題,而是建議應用「黑客」來糾正任何真實的,基礎的問題是?談談使用一個皮帶來掩蓋出血 – MadProgrammer

+0

@MadProgrammer我遇到過這個問題很多次了,這解決了我的問題EM。這只是一個切入點。非常適合創可貼。 – CodingNinja

+0

如果你「多次遇到這個問題」,那麼你做錯了什麼 – MadProgrammer