【问题标题】:Stack data using JAVA SWING使用 JAVA SWING 堆叠数据
【发布时间】:2021-05-28 03:39:09
【问题描述】:

我正在尝试在 java swing 中使用堆栈。问题是我无法在文本区域中显示堆栈,因为它总是只显示第一个字母。

我知道如何使用堆栈和队列,但我的问题是在摇摆中使用它

如果我在控制台中打印堆栈,它工作正常。

Stack<String> stacksGUI = new Stack<>();

//Button to add data into a stack
 stacksGUI.push(inputTxt.getText());
        inputTxt.setText("");
        inputTxt.requestFocus();

//Button to show data in a textArea
      while (!stacksGUI.empty()) {      
      outputTxt.setText(stacksGUI.pop()+" ");
                    }


【问题讨论】:

  • setText(String) 不会附加到现有文本,而是替换它。您需要创建整个输出,然后在最终的String 上调用一次setText(String)
  • outputTxt 组件的大小是否正确?你在使用布局管理器吗?如果有,是哪一个?我假设您一次只希望显示一个堆栈元素?我们需要更多信息才能回答您的问题。

标签: java swing stack


【解决方案1】:

它总是只显示第一个字母。

while (!stacksGUI.empty()) {      
   outputTxt.setText(stacksGUI.pop()+" ");

setText(...) 替换现有文本,因此您只会看到从 Stack 弹出的最后一个文本。

使用JTextAreaappend(...) 方法将文本附加到现有文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多