3

我只是在做我的个人项目,使用 Swing 绘制基本地图。

我有很多问题,但最糟糕的是JLable每次我 s 的位置都会改变

  1. 调整框架大小
  2. 再次将它们设置为不可见和可见 (setvisible(false)->setvisible(true))
  3. 将屏幕移动到另一个选项卡“地图 2”并返回到地图 1(框架有JTabbedPane

很遗憾我没有足够的声誉来上传图片:(

所有JLables 都位于JPanel.

就像是

之前
.------------------------------------------------
。 -----------------------------------------------------------
.-- --------标签1-----------------
.------------ ------------------------------------
.------------- ----标签2--------
.------------------------ -----------------------
.---------------------------- -----标签3--------
.------------------------------------ ----------
.---------------------------------------- ---------
.---------------------------------------- --------


.------------------------------------------------------------之后
。 ---------标签1 标签2 标签3------------
.------------------------- ---------------------
.---------------------------- ------------------
.-------------------------------------------- -----------------
.-------------------------------- -------------
.------------------------------------ -------------
.------------------------------------ ----------
.---------------------------------------- ---------
.---------------------------------------- --------

我也尝试setLocation(new Point(x,y));在调整大小后使用,但没有任何结果。

任何提示将不胜感激。:) 在此处输入图像描述 在此处输入图像描述

4

1 回答 1

7

您使用了绝对定位而没有相应地设置布局。在 存在的情况下刷新显示FlowLayout,默认为,会导致您在之后JPanel看到的布局。使用可能有效,但首选方法是使用预期的布局管理器setLayout(null)

于 2012-10-16T19:22:13.937 回答