在 JPanel 中居中 JLabel
2022-09-01 13:36:27
我有一个派生自 的面板。我有一个从 派生的自定义控件。我试图在我的面板上以这种习俗为中心。JPanel
JLabel
JLabel
我知道要做到这一点,唯一可行的方法是使用空布局(),然后计算自定义JLabel的点,以便它位于正确的位置。setLayout(null)
setLocation()
在此应用程序中,自定义从一个面板物理移动到此面板,我相信之前设置的位置正在影响事物。但是,当我将其设置为(0,0)时,组件会上升到左上角。JLabel
setLocation
BorderLayout
不起作用,因为当只提供 1 个组件并将其放入 时,中心部分会扩展以填充所有空间。BorderLayout.CENTER
我从使用的另一个站点剪切并粘贴的示例和.这也不起作用。BoxLayout
component.setAlignmentX(Component.CENTER_ALIGNMENT)
另一个答案提到覆盖面板的功能(我认为这就是它的名字),但这被证明是一个死胡同。getInset()
到目前为止,我正在使用具有布局的面板,并且在将自定义插入到面板中时会包含一个对象。但是,这是低效的。有没有更好的方法来居中在我的?GridBagLayout
GridBagConstraints
JLabel
JLabel
JPanel