2011-12-28 75 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