居中的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