我有一个来自的小组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?