2017-07-07 122 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