现在也写一个动态的界面,上面有不确定个数的 jTextField ,其个数是根据参数的个数确定的,生成界面的代码如下for (int j = 0; j<n; j++){ JLabel jLabel = new JLabel();
getContentPane().add(jLabel);
jLabel.setText(identifier.get(j) + "(" + title.get(j)+ ")");
jLabel.setBounds(26, 79 + j*48, 492, 15);
final JTextField jTextField = new JTextField();
getContentPane().add(jTextField);
jTextField.setText("");现在的问题是我不确定如何去获取这些 jTextField 输入的内容,一直没有找到合适的方法。
2 回答
开满天机
TA贡献1786条经验 获得超13个赞
那个textfield的value是个什么东西,我看,关键是你这里的j,即identifier.get(j),比如:
[code]
private Map fields = new HashMap();
for( j=0;j<n;j++){
...
fields.put(j,jTextField);
}
[/code]
在其他地方就可以通过fields获取到这些JTextField。
守着星空守着你
TA贡献1799条经验 获得超8个赞
简单点的用数组
for (int j = 0; j<n; j++){
JLabel jLabel = new JLabel();
改为
JLabel jLabelArray=new JLabel[n];
for (int j = 0; j<n; j++){
jLabelArray[j] = new JLabel();
这样就能使用下标访问了:jLabelArray[3]
或者使用map
for (int j = 0; j JLabel jLabel = new JLabel();
改为
Map jLabelMap = new HashMap;
for (int j = 0; j<n; j++){
JLabel jLabel = new JLabel();
jLabelMap.put(identifier.get(j),jLabel);
这样就能使用identifier访问了:jLabelMap.get("Tool");
添加回答
举报
0/150
提交
取消