Java 为什么赢了';我的程序不能打印到我的GUI吗?
这是我的代码-当我尝试运行程序时,它不会打印/显示到GUI中的Java 为什么赢了';我的程序不能打印到我的GUI吗?,java,user-interface,netbeans,Java,User Interface,Netbeans,这是我的代码-当我尝试运行程序时,它不会打印/显示到GUI中的finalResult文本字段。有什么想法吗 private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) { // Coding: int a = 1; userInput = minInput.getText();
finalResult
文本字段。有什么想法吗
private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {
// Coding:
int a = 1;
userInput = minInput.getText();
int value1 = Integer.parseInt(userInput);
userInput2 = maxInput.getText();
int value2 = Integer.parseInt(userInput2);
while (a <= value1)
{
//Print numbers inbetween user's value and 1:
int square = value1*value1;
//Print:
finalResult.setText("" + square);
//Modifier:
value1 = value1 + 1;
}
for (a = 0; a <= value1; a ++)
{
finalResult.setText("" + a*a);
}
while (value1 < value2)
{
//Print numbers inbetween value 2 and valeu1:
int square = value2*value2;
//Print:
finalResult.setText("" + square);
//Modifier:
value2 = value2 + 1;
}
for (a = 0; a <= value2; a ++)
{
finalResult.setText("" + a*a);
}
private void calculateButtoActionPerformed(java.awt.event.ActionEvent evt){
//编码:
INTA=1;
userInput=minInput.getText();
int value1=Integer.parseInt(用户输入);
userInput2=maxInput.getText();
int value2=Integer.parseInt(userInput2);
虽然(a p>你的代码正在工作,但是那些循环的循环非常快,所以你不会看到文本字段发生的变化。不管你做什么,不要使用<代码>线程。睡眠(…)<代码>试图解决这个问题,但是考虑使用一个摆动定时器代替那些循环,这样你就可以看到中间结果。
编辑
看起来这个循环永远不会结束:
while (a <= value1)
while(循环内的值1
下一个while循环可能出现同样的问题。如果要查看所有输出,请尝试使用只读JTextArea
,如下所示:
javax.swing.JTextArea outputBox = new JTextArea();
outputBox.append("" + square + "\n");
好的,谢谢,但是我应该如何使用一个合适的swing定时器呢?现在看起来代码不工作了,因为当我在GUI中单击“计算”按钮时,它会“卡住”(我在这方面很不擅长)@user3561829:如果它卡住了,那么你的一个while循环可能不会停止。至于如何使用Swing计时器,我建议你在谷歌上搜索Java Swing Timer教程,第一次点击会对你有所帮助。此外,要调试代码并查看是否发生了无限循环或长时间运行的循环,请在其中放置一些println语句。至于<代码>“我不擅长这个”
,练习会让你变得更好。好吧,我一定会尝试一下,无限循环的事情现在敲响了一些警钟,谢谢,一定要确保,你正在将侦听器添加到按钮上,对吗?好吧,我在这里听起来像个白痴,问你一个可能很愚蠢的问题:侦听器指的是like Integer.parseInt还是其他什么(我的课程内容不是很丰富)编辑:我对它做了一些研究,你是说像ActionListener