【发布时间】:2013-07-08 16:48:44
【问题描述】:
我有一个ArrayList<JTextField>,它有 N 个职位。但是,我必须做出改变,我需要在该数组中添加一个JComboBox,所以我的问题是:
我需要在我的 ArrayList 上声明什么类型的数据?
我尝试过使用ArrayList<Object> 和ArrayList<JComponent>,但它不起作用,因为我设置水平对齐的线条报告错误。
private ArrayList<JTextField> jTextFieldAL;
for (int i = 0; i < size; i++) {
jLabelAL.add(new JLabel("" + tagNamesAL.get(i)));
if (tagNamesAL.get(i).equals("AGENT_NAME")) {
jTextFieldAL.add(new tools.AgentNameTextField());
jTextFieldAL.get(i).setHorizontalAlignment(SwingConstants.RIGHT);
} else {
switch (tagContentAL.get(i).toString().toLowerCase()) {
case "int":
jTextFieldAL.add(new tools.IntegerTextField(this.simul));
jTextFieldAL.get(i).setHorizontalAlignment(SwingConstants.RIGHT);
break;
case "double":
case "float":
jTextFieldAL.add(new tools.DoubleTextField(this.simul));
jTextFieldAL.get(i).setHorizontalAlignment(SwingConstants.RIGHT);
break;
default:
jTextFieldAL.add(new JTextField());
jTextFieldAL.get(i).setHorizontalAlignment(SwingConstants.RIGHT);
break;
}
}
jTextFieldAL.get(i).addKeyListener(keyEvent);
p1.add(jLabelAL.get(i));
p1.add(jTextFieldAL.get(i));
}
【问题讨论】:
-
您是否尝试过使用 JComponent 但转换为例如JTextField 是否需要使用特定于文本的方法?
-
1.简单的问题 - 什么目标,2. 如何帮助您将 JComponents 放入数组中,3. 不要将 KeyListener 用于 JTextComponents,4. 为了更好的帮助,请尽快发布 SSCCE,简短、可运行、可编译,
-
对不起 mKorbel,我真的不能:\
标签: java swing polymorphism jtextfield jcombobox