我浏览过这个网站,但没有任何内容真正回答我的问题。这就是我的代码的样子:
// declare user input variables
int min, max;
//assign user input to min and max
min = Integer.parseInt(Min.getText ());
max = Integer.parseInt(Max.getText ());
//use for loop to display the values
for (int n = min; n<= max; n++){
System.out.println(Integer.toString(n));
Output.setText(Integer.toString(n));
}
并且 System.out.println () 产生正确的答案。例如,用户输入2和9,它会说:
run:
2
3
4
5
6
7
8
9
但是我试图将文本设置为“输出”的 jLabel 仅显示 9。我知道他的可能非常简单,但是嘿,我是初学者。任何帮助将不胜感激。
最佳答案
答案“取决于”。
您希望每个数字另起一行还是附加到字符串
的末尾。您希望它们像计数器一样单独显示吗?
如果您希望数字按顺序显示,那么您可以使用类似的东西...
JLabel label = new JLabel();
int min = 0;
int max = 10;
StringBuilder sb = new StringBuilder(128);
for (int n = min; n <= max; n++) {
sb.append(n);
}
label.setText(sb.toString());
这会输出类似...的内容
或者,如果您想要新行的每个数字,您可以使用...
JLabel label = new JLabel();
int min = 0;
int max = 10;
StringBuilder sb = new StringBuilder(128);
sb.append("<html>");
for (int n = min; n <= max; n++) {
System.out.println(Integer.toString(n));
sb.append(n).append("<br>");
}
sb.append("</html>");
label.setText(sb.toString());
这会输出类似...的内容
现在,如果您想要这个,实际上使用 JTextArea
并简单地将每个数字附加到它会更容易......
JTextArea editor = new JTextArea(10, 10);
editor.setEditable(false);
int min = 0;
int max = 10;
StringBuilder sb = new StringBuilder(128);
for (int n = min; n <= max; n++) {
editor.append(Integer.toString(n) + "\n");
}
这会输出类似...的内容
现在,如果您想为其设置动画,则需要使用 javax.swing.Timer
或 SwingWorker
做不同的事情
关于java - 初学者 Java Netbeans : How do I display for loop in jlabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19968550/