Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JLabel中打印堆栈?_Java_Swing_User Interface_Stack_Jlabel - Fatal编程技术网

Java 如何在JLabel中打印堆栈?

Java 如何在JLabel中打印堆栈?,java,swing,user-interface,stack,jlabel,Java,Swing,User Interface,Stack,Jlabel,我有一个打印堆栈的方法,但是,它通过System.out.println打印,我需要将它打印到一个JLabel,以便它在我的GUI中可见 我使用的是Netbeans的UI设计器,因此我有一个JFrame文件、一个主类文件和一个堆栈文件,我在其中编写了showStack方法。 “Pila”是一个扩展堆栈的类 这就是方法 public void showStack(Pila<Integer> s){ if (s.isEmpty()) ret

我有一个打印堆栈的方法,但是,它通过System.out.println打印,我需要将它打印到一个JLabel,以便它在我的GUI中可见

我使用的是Netbeans的UI设计器,因此我有一个JFrame文件、一个主类文件和一个堆栈文件,我在其中编写了showStack方法。 “Pila”是一个扩展堆栈的类

这就是方法

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);  
    }  
publicsvoidshowstack(pilas){
如果(s.isEmpty())
回来
整数x=s.peek();
s、 pop();
陈列柜;
系统输出打印(x+“”);
s、 推(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;
}
字符串输出;//这是用来连接字符串的
公共字符串返回堆栈(Pila s){
如果(s.isEmpty()){
返回“”;
}
整数x=s.peek();
s、 pop();
陈列柜;
输出+=x+“”;
s、 推(x);
返回输出;
}

JLabel只显示一行文本——这是您想要的吗?我认为您可能希望将堆栈打印为一列文本,例如在JList中。好的,任何方式都可以,我对GUI构建非常陌生,因此如果JList更好,我将使用它。那么最好您首先与解决方案进行斗争,而不是要求其他人提供代码,甚至向正确的方向推进。去吧,祝你好运。然后,请在你的问题中向我们展示你的GUI尝试。这也将大大提高问题的质量。