java - 如何在 JLabel 中打印堆栈?
问题描述
我有一个打印堆栈的方法,但是,它通过 System.out.println 打印,我需要将它打印到 JLabel,以便它在我的 GUI 中可见。
我正在使用来自 Netbeans 的 UI 设计器,所以我有一个 JFrame 文件、一个主类文件和一个堆栈文件,我在其中编写了 showStack 方法。“Pila”是一个扩展 Stack 的类。
这是方法
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 中打印堆栈的东西替换它
解决方案
您可以创建一个返回字符串的函数,并将该字符串放在标签的文本上。我认为它可以使用与控制台打印相同的代码,但将它连接成一个字符串而不是打印它
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;
}
推荐阅读
- ruby-on-rails - Heroku 应用程序错误应用程序不上线
- android - removing intermediary screen with picture
- c - Ingres 将选择提取到 SQLDA
- ios - 使用应用程序组在框架中处理向核心数据的迁移?
- cordova - 离子3中未处理的承诺拒绝警告
- python - 如何获取过去 48 小时的数据 - Django
- python - Pandas:删除所有列中的所有 NaN 值
- python-3.6 - TypeError:“NoneType”对象不能从初学者迭代
- asterisk - Asterisk 15.3 与 Asterisk 14.6 '200 OK' 联系字段差异
- javascript - 使用带有 tap 和 map RxJS 运算符的函数时出现 TypeScript 类型错误?