小编Sha*_*ord的帖子

将JLabel置于JPanel中心

我有一个来自的小组JPanel.我有一个自定义控件派生自JLabel.我试图将这个自定义JLabel放在我的面板上.

我知道这样做的唯一方法就是使用一个null布局(setLayout(null)),然后计算自定义JLabel的setLocation()点,使它在正确的位置.

JLabel在这个应用程序中,自定义从一个面板物理移动到此面板,我相信之前设置的位置setLocation正在影响事物.但是,当我将其设置为(0,0)时,组件会进入左上角.

BorderLayout不起作用,因为当只提供并放入一个组件时BorderLayout.CENTER,中央部分会扩展以填充所有空间.

我使用的切割和从其他网站粘贴示例BoxLayout及component.setAlignmentX(Component.CENTER_ALIGNMENT).这也不起作用.

另一个答案提到了覆盖小组的getInset()功能(我认为这就是所谓的),但事实证明这是一个死胡同.

到目前为止,我正在使用带有GridBagLayout布局的面板,GridBagConstraints当我将自定义JLabel插入面板时,我会包含一个对象.但这是低效的.有没有更好的方法让JLabel我的中心JPanel?

java layout swing layout-manager

19
推荐指数
4
解决办法
6万
查看次数

标签 统计

java ×1

layout ×1

layout-manager ×1

swing ×1