如何动态地将JTextField添加到JScrollPane中?

时间:2015-12-11 21:27:47

标签: java swing

我添加了这些代码,并且在我的摇摆滚动窗格中没有显示任何内容  int rowCnt = 1,i,j;

for (i = 0; i < rowCnt; i++) {
    for (j = 0; j < rowCnt + 7; j++) {
        myJTextField txt = new myJTextField();
        txt.setBounds(35, 10, 200, 25);
        scrPaneTextField.add(txt);
    }
}

1 个答案:

答案 0 :(得分:3)

请勿使用setBounds()方法。这意味着您使用的是您不应该执行的null布局。布局管理器的工作是设置组件的大小/位置。

看起来你有一个组件网格。

使用GridLayout将您的组件添加到面板。然后将面板添加到滚动窗格:

JPanel panel = new JPanel( new GridLayout(...) );

// add components to panel

for (...)
}
    for (...)
    {
        JTextField textField = new JTextField(10);
        panel.add( textField );
    }
}

JScrollPane scrollPane = new JScrollPane( panel );
frame.add(scrollPane);

阅读Layout Managers上Swing教程中的部分,了解更多信息和工作示例。