2011-12-28 66 views

回答

10

一對夫婦JLabel構造函數採用水平對齊參數。這些constantsSwingConstants繼承。

+0

是的,這就是對的。但是,假設我有100個JLabel。當我將它們與構造函數正確對齊,並決定將其更改爲左對齊時,我必須手動完成一百次。有沒有辦法,通過從佈局管理器級別的一個步驟來調整它們? – 2011-12-28 16:17:06

+0

如果您不想封裝這樣的邏輯,請使用['setAlignmentY'](http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setAlignmentY%28float%29 ) 方法。這就是容器如何設置任何「JComponent」實例(例如'JLabel')的水平對齊方式。 – mre 2011-12-28 16:18:19

+0

@Noran您可以使用返回JLabel的參數創建類或void,可以使用SwingConstant,JLabel#possition或使用Html <= 3.2 +1 – mKorbel 2011-12-28 16:36:23

22

@Noran爲了迴應您對@ mre的回答的評論,您可以將所有JLabel初始化爲一個數組。然後,你所要做的就是遍歷數組並設置對齊方式。

for (JLabel label: arrayOfJLabels) { 
    label.setHorizontalAlignment(SwingConstants.LEFT); 
} 
+0

這應該是正確的答案。 – 2017-06-22 14:59:18

1

我已閱讀你的問題,我有一個建議。有幾種方法可以滿足您的要求。既然你沒有提到確切的要求,我可以給你一個簡單的例子,我的理解是:

//create a JLabel and name it as jLabel2 
javax.swing.JLabel jLabel2 = new javax.swing.JLabel(); 
jLabel2.setText("Dehans Label"); 
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); 

請參考下面通過以下鏈接@方法在JavaSE的API JLabel類:

+0

最好鏈接到最新版本的JavaDocs。我編輯了您的答案以指向J2SE 7.有關獲取最新文檔鏈接的提示,請參見[優點2](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) 。 – 2011-12-29 00:24:35