如何在 JLabel 中打印堆栈?
How to print Stack in a JLabel?
我有一个打印堆栈的方法,但是,它通过 System.out.println 打印,我需要将它打印到 JLabel,以便它在我的 GUI.[= 中可见11=]
我使用的是 Netbeans 的 UI 设计器,所以我有一个 JFrame 文件、一个主 class 文件和一个堆栈文件,我在其中编写了 showStack 方法。
"Pila" 是扩展堆栈的 class。
这是方法
public void showStack(Pila<Integer> s){
if (s.isEmpty())
return;
Integer x = s.peek();
s.pop();
showStack(s);
System.out.print(x + " ");
s.push(x);
}
我想摆脱 System.out.print 并将其替换为我可以用来在 Jlabel 中打印堆栈的内容
您可以创建一个 returns 字符串的函数,并将该字符串放在标签的文本中。我认为它可以使用与控制台打印相同的代码,但将它连接成一个字符串而不是打印它
String output; // this one is to concatenate your String
public String returnStack(Pila<Integer> s){
if (s.isEmpty()) {
return "";
}
Integer x = s.peek();
s.pop();
showStack(s);
output+= x + " ";
s.push(x);
return output;
}
我有一个打印堆栈的方法,但是,它通过 System.out.println 打印,我需要将它打印到 JLabel,以便它在我的 GUI.[= 中可见11=]
我使用的是 Netbeans 的 UI 设计器,所以我有一个 JFrame 文件、一个主 class 文件和一个堆栈文件,我在其中编写了 showStack 方法。 "Pila" 是扩展堆栈的 class。
这是方法
public void showStack(Pila<Integer> s){
if (s.isEmpty())
return;
Integer x = s.peek();
s.pop();
showStack(s);
System.out.print(x + " ");
s.push(x);
}
我想摆脱 System.out.print 并将其替换为我可以用来在 Jlabel 中打印堆栈的内容
您可以创建一个 returns 字符串的函数,并将该字符串放在标签的文本中。我认为它可以使用与控制台打印相同的代码,但将它连接成一个字符串而不是打印它
String output; // this one is to concatenate your String
public String returnStack(Pila<Integer> s){
if (s.isEmpty()) {
return "";
}
Integer x = s.peek();
s.pop();
showStack(s);
output+= x + " ";
s.push(x);
return output;
}