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

时间:2012-10-16 19:15:15

标签: java swing jframe jlabel

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

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

  1. 调整框架大小
  2. 将它们设置为不可见并再次可见(setvisible(false) - > setvisible(true))
  3. 将屏幕移动到另一个标签“地图2”并返回到地图1(框架有JTabbedPane
  4. 令人遗憾的是,我没有足够的声誉来上传图片:(

    所有JLable都位于JPanel

    的顶部

    就像


    .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .---------的Label1 -----------------------------
    .----------------------------------------------- <无线电通信/> .------------------ Label2的--------------------
    .----------------------------------------------- <无线电通信/> .------------------------------- LABEL3 -------
    .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .-----------------------------------------------


    .----------------------------------------------- <无线电通信/> .--------- Label1 Label2 Label3 -----------
    .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .----------------------------------------------- <无线电通信/> .-----------------------------------------------

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

    任何提示将不胜感激。 :) enter image description here enter image description here

1 个答案:

答案 0 :(得分:7)

您已使用absolute positioning而未相应设置布局。在存在FlowLayoutJPanel的默认设置)的情况下刷新显示会导致您在之后在中看到的布局。使用setLayout(null)可能有效,但首选方法是使用预期的layout manager