调整框架大小时,JLabel的位置会变为奇怪的位置

Eug*_* Yu 3 java swing jlabel jframe

我正在做我的个人项目,使用Swing绘制基本地图.

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

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

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

所有的JLables都位于JPanel.

就像是

之前
.-----------------------------------------------
. -----------------------------------------------
.-- ------- Label1 -----------------------------
.------------ -----------------------------------
.-------------- ---- Label2 --------------------
.------------------------ -----------------------
.-------------------------- ----- Label3 -------
.------------------------------------ -----------
.-------------------------------------- ---------
.---------------------------------------- -------

之后
.-----------------------------------------------
. --------- Label1 Label2 Label3 -----------
.-------------------------- ---------------------
.---------------------------- -------------------
.------------------------------ -----------------
.-------------------------------- ---------------
.---------------------------------- -------------
.------------------------------------ -----------
.-------------------------------------- ---------
.---------------------------------------- -------

setLocation(new Point(x,y));调整大小后我也尝试使用但没有出现.

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

tra*_*god 7

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