gpt4 book ai didi

java - 如何为 JLabel 设置文本,以便它从 void 方法打印多个打印语句?

转载 作者:行者123 更新时间:2023-12-02 03:11:42 26 4
gpt4 key购买 nike

我会给你我的代码片段:

JButton button = new JButton("Flip");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Flips flip = new Flips();

flipsLabel.setText(Arrays.toString(flip.hAndT));

flip.tailsCount();
tailsLabel.setText("Total Tails " + Integer.toString(flip.tCount));

flip.headsCount();
headsLabel.setText("Total Tails " + Integer.toString(flip.hCount));
}
});

以上所有内容都有效,因为 tCounthCount 是变量,因此我可以将它们设置为 JLabels 中的文本。

但是,我也想将以下方法打印到 JLabel:

public static void headsCount() {
System.out.println();
System.out.println("Heads");
System.out.println("=====");

for (int i = 0; i < HandT.length; i++) {
if (hAndT[i].equals("Head")) {
System.out.println("index " + Integer.toString(i));
hCount++;
}
}
}

输出是数组中头部所在索引的多行。我无法通过将其设置为按钮操作的文本来打印此 void 方法,因为它是原始类型。

我是否必须将该方法转换为返回类型并返回包含此信息的某种数组,以便我可以将其打印到 JLabel?

最佳答案

Will I have to turn the method into a return type

是的,您可能会返回一个String

您可以使用 StringBuilder 并继续将文本附加到 StringBuilder,而不是使用 System.out.println()。

然后您可以简单地使用StringBuildertoString()方法来返回完整的String

so I can print it to a JLabel?

我怀疑您会使用 JLabel,因为 JLabel 并非设计用于显示多行文本。您可以改用 JTextArea

如果您想使用 JLabel,那么您仍然可以使用 StringBuilder 构建 HTML 以在标签中显示。

关于java - 如何为 JLabel 设置文本,以便它从 void 方法打印多个打印语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40950449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com