2017-06-29 131 views
0

因此,我使用JFrame在Eclipse中制作黑手党游戏 - 并且我想在JFrame中设置文本的位置。如何更改JFrame中JLabel的位置?

每当我使用setPositionX和setPositionY它不起作用!

有什么建议吗?

+0

你可以发布你试过的代码吗?这将帮助我们帮助你。 – lucasvw

+0

显示你的尝试。 –

+0

布局管理器,布局属性,边距和空边框 – MadProgrammer

回答

-2
Insets insets = panel.getInsets(); 
Dimension size =test.getPreferredSize(); 

// Just replace 10 & 0 according to X & Y position you want 
test.setBounds(10 + insets.left, 0 + insets.top, size.width, size.height); 
5

您不使用绝对坐标放置组件。

您研究了layout managers的概念。然后你决定哪种类型的经理最能支持你的想法。

然后你让该经理做所有UI元素的定位。其他任何事情基本上都是浪费时间。

含义:当然,您可以使用绝对值“手动”定位组件(请参阅here以获取有关如何操作的说明)。

但是有一个问题:你花了很多时间来完美调整你的组件。然后你记得:“也许我必须让我的用户调整窗口大小。”然后大部分工作变得毫无用处;正如你很快想到的那样:“当人们调整框架大小时,我希望这部分随着它的增长/缩小而变化,而那部分应该保持不变”。长篇小说:绝对定位只适用于固定分辨率,固定窗口大小,固定字体大小,固定所有内容。基本上它把你固定在某个角落 - 离开那个角落是

所以简单地避免这种情况;并学习如何使用一个(或几个)布局管理器为您完成所有那些繁琐的工作。