gpt4 book ai didi

java - 如何在 JTextField 中显示字符数组

转载 作者:太空宇宙 更新时间:2023-11-04 13:42:22 24 4
gpt4 key购买 nike

我正在尝试创建一个刽子手游戏,其中将为用户显示破折号,如果他们单击正确的按钮,一个字母将取代破折号。当我使用控制台输出所有数据时,这是有效的,但是当我更改为GUI后,无论我如何尝试,它都不起作用。 JTextField 似乎不接受字符数组。

    private static JTextField txtDashes;
static char [] dashes = {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'};

txtDashes = new JTextField();
txtDashes.setBackground(Color.GRAY);
txtDashes.setHorizontalAlignment(SwingConstants.CENTER);
txtDashes.setBorder(javax.swing.BorderFactory.createEmptyBorder());
txtDashes.setBounds(39, 207, 218, 46);
gameScreen.add(txtDashes);
txtDashes.setColumns(10);

for (int i = 0; i < dashes.length; i++){
txtDashes.setText(dashes[i]); //Error occurs here
} //End of for loop

我只有大约 5 个月的 java 编码经验,似乎找不到解决这个问题的方法。

最佳答案

您应该将String传递给setText()方法dashes 是一个 char 数组。您无法将 char 设置为文本字段。您必须先将 char 转换为 String

使用

txtDashes.setText(String.valueOf(dashes[i])); 

txtDashes.setText(dashes[i] + ""); 

编辑

<小时/> setText() 替换现有文本并设置新文本。如果要显示所有数组字符,请首先将其附加到字符串,抛出一个循环,然后从循环外部 setText()

像这样

String s="";
for (int i = 0; i < dashes.length; i++){
s+=dashes[i];
}
txtDashes.setText(s);

注意在循环内附加 .string 不好,您可以使用 StringBuilder 来实现

关于java - 如何在 JTextField 中显示字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31131080/

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