是否有一种简单的方法可以获得GroupLayout应用程序中的所有(或大部分)组件,而不是垂直延伸?我知道我可以通过将每个组件添加到它的首选大小来做到这一点,但是这使得代码更加冗长:
.addGroup(layout.createSequentialGroup()
.addComponent(oDevRadio)
.addComponent(oInstRadio)
)化作
.addGroup(layout.createSequentialGroup()
.addComponent(oDevRadio,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(oInstRadio,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
)是否有一种方法将其设置为默认值,并指定我希望可伸缩的元素?
参考资料- 附加成分规范
发布于 2011-06-18 23:25:35
据我所知,告诉GroupLayout组件不要拉伸或不对齐的唯一方法是相关组件位于ParallelGroup中。因此,将ParallelGroup的可调整大小标志设置为false是一件简单的事情。
带有相关标志的ParallelGroup创建者的Javadoc
例如,在下面的代码中,jspCasts是一个非常高的组件。如果没有一个新的ParallelGroup,并将标志设置为false,那么它旁边的组件就会拉伸或不整齐地对齐。
vGroup.addGroup(gl.createParallelGroup(Alignment.LEADING).
addComponent(jspCasts).
addGroup(gl.createParallelGroup(Alignment.CENTER, false).
// without worrying about vertical stretching or misalignment,
// add your components here发布于 2011-01-18 03:08:44
据我所知没有。我用一个实用程序类来处理它:
package alpha;
import java.awt.Component;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Group;
public class GroupLayoutUtil
{
public static GroupLayout.Group addPreferred(Group g, Component c)
{
return g.addComponent(c, GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE);
}
}https://stackoverflow.com/questions/3577464
复制相似问题