从for
循环中设置JLabel
的文本时出现问题。该loopMessage()
方法只需设置列表的第一个指标,但是当我打印出来,我可以看到所有的索引:在'for'循环中设置JLabel的文本
MEEP春天
meep2冬季
我想要的标签奥斯陆设置全列出窗口
public class ControllerMessage {
private ModelMessage mm;
private ViewMessage vm;
public ControllerMessage(ModelMessage mm, ViewMessage vm) {
this.mm = mm;
this.vm = vm;
loopMessage();
addMessage();
loopMessage();
}
public void loopMessage() {
for (Message s : mm.getAllMessages()) {
System.out.println(s.getName() + " " + s.getDate());
vm.setLabel(s.getName() + " " + s.getDate());
}
}
public Message addMessage() {
return this.mm.addMessage(new Message(2, "meep2", "winter"));
}
}
视图类:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ViewMessage extends JFrame{
private JLabel additionLabel = new JLabel();
public ViewMessage() {
JPanel calcPanel = new JPanel();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600, 600);
calcPanel.add(additionLabel);
this.add(calcPanel);
}
public void setLabel(String m){
additionLabel.setText(m);
}
}
哪里的JLabel你提到? – Suspended
请勿在注释中张贴代码,因为它丢失了格式使其无法读取。相反,通过[编辑您的问题](http://stackoverflow.com/posts/30156879/edit)将任何新代码发布到原始问题的底部。 –