【发布时间】:2018-11-21 00:37:23
【问题描述】:
我刚刚编写了一个程序,它有一个JFrame,其中包含一组JLabel 组件。数组获取由 for 循环分配的单个标签的位置:
for(int i=0; i<label_entries.length; i++){
label_entries[i].setLocation(10, i*30);
label_entries[i].setSize(120,30);
dialog.add(label_entries[i]);
}
不要混淆,我的框架名称是“对话框”。
有一个简单的问题:for循环不像for循环那样工作,我不知道为什么,这是我框架中的结果:
别在意单个标签条目,有趣的是Telefon的位置。
如果我将循环的开头设置为以下,也是同样的问题,只是换了一个标签。
for(int i=0; i<label_entries.length-1; i++){...}
这里是完整的代码
JFrame dialog = new JFrame();
dialog.setBounds(25, 50, 500, 500);
dialog.setTitle("Eintrag hinzufügen");
dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
JLabel[] label_entries = new JLabel[11];
JTextField[] textfields = new JTextField[11];
label_entries[0] = new JLabel("Vorname :");
label_entries[1] = new JLabel("Nachname :");
label_entries[2] = new JLabel("Nummer :");
label_entries[3] = new JLabel("Geburtstag :");
label_entries[4] = new JLabel("Land :");
label_entries[5] = new JLabel("PLZ :");
label_entries[6] = new JLabel("Stadt :");
label_entries[7] = new JLabel("Strasse :");
label_entries[8] = new JLabel("Hausnummer :");
label_entries[9] = new JLabel("E-Mail :");
label_entries[10] = new JLabel("Telefon :");
for(int i=0; i<label_entries.length; i++){
label_entries[i].setLocation(10, i*30);
label_entries[i].setSize(120,30);
dialog.add(label_entries[i]);
}
这应该更容易理解。
【问题讨论】:
-
“不要混淆,我的框架的名称是“对话”。”“不要混淆”的一个简单方法是让提出问题的人不要使用混淆类、属性或方法的名称。在您创建新代码来演示问题时,请重命名任何让您感到不得不对其进行评论的令人困惑的内容。说到“新代码”。为了尽快获得更好的帮助,edit 添加minimal reproducible example 或Short, Self Contained, Correct Example。