2011-09-25 39 views
0

我有一个对话框,这个对话框里面我在左边的列表,右边我有一个面板如何与文本字段中手动添加一个标签使用Java

我使用创造了这些东西在面板内部netbeans的

的GUI生成器现在对于面板,我有3对标签的 - 文本字段

的问题是,根据用户的输入来对可能成为4或5等

所以我不能仅仅使用gui构建器来绘制这些对,我需要通过编写代码来创建它们

问题是,为了达到这个目的,我应该使用这种面板的什么样的布局?

面板就是这样

label1 textfield 
label2 textfield 
label3 textfield 
empty 
empty 
etc 

这里有一个画面:

http://img828.imageshack.us/img828/8894/asdsadc.png

感谢

回答

2

我个人更喜欢GroupLayout此类任务。

Screenshot for below GroupLayout

GroupLayout layout = new GroupLayout(container); 
container.setLayout(layout); 
layout.setAutoCreateContainerGaps(true); 
layout.setAutoCreateGaps(true); 

Group groupLabels = layout.createParallelGroup(); 
Group groupFields = layout.createParallelGroup(); 
Group groupRows = layout.createSequentialGroup(); 

layout.setHorizontalGroup(layout.createSequentialGroup() 
    .addGroup(groupLabels) 
    .addGroup(groupFields)); 
layout.setVerticalGroup(groupRows); 

for (int i = 0; i < 5; i++) { 
    JLabel label = new JLabel("ABCDEFGHIJ".substring(0, 2 + 2 * i)); 
    JTextField field = new JTextField("ABCDEFGHIJ".substring(0, 2 + 2 * i)); 

    groupLabels.addComponent(label); 
    groupFields.addComponent(field); 
    groupRows.addGroup(layout.createParallelGroup() 
     .addComponent(label) 
     .addComponent(field, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)); 
} 

如果要动态地添加更多的行,你必须做的唯一一件事就是相应的组件添加到三组,在容器上调用validate

+0

非常感谢:) – ksm001

相关问题