居中的JLabel我已经从JPanel
衍生的面板。我有一个来自JLabel
的自定义控件。我试图在我的面板上将此自定义JLabel
居中。在一个JPanel
我知道这样做的唯一方法就是使用空布局(setLayout(null)
),然后计算自定义JLabel的setLocation()
点,以便它在正确的位置。
定制JLabel
物理从一个面板移动到该面板在这个应用程序,我相信位置以前在setLocation
设置是影响的事情。但是,当我将它设置为(0,0)时,组件会进入左上角。
BorderLayout
不起作用,因为当只提供1个组件并放置到BorderLayout.CENTER
时,中央部分扩大以填充所有空间。
我切割并从另一个网站粘贴一个例子使用BoxLayout
和component.setAlignmentX(Component.CENTER_ALIGNMENT)
。这也没有用。
提到覆盖面板的getInset()
函数的另一个答案(我认为这就是所谓的),但是这被证明是一个死胡同。
到目前为止,我正在使用一个带有GridBagLayout
布局的面板,当我将自定义JLabel
插入我的面板时,我会包含一个GridBagConstraints
对象。虽然这效率很低。有没有更好的方式来中心在我JPanel
的JLabel
?
考虑开采的实际问题了咆哮。 – 2012-03-22 19:47:52
哦,以后我使用的GridBagLayout与GridBagConstraints的方法事情看起来OK,如果我最小化,然后恢复主窗口。 – Shackleford 2012-03-22 19:55:00
写这整个咆哮的时间足以使输入到谷歌“摇摆与布局管理工作”,点击官方摆动教程的第一击,看视觉引导,决定BoxLayout的看起来很有希望,看到它做更多的例子以下你想要什么(它包含两个组件ISO单一个) – Robin 2012-03-22 22:01:34