gpt4 book ai didi

java - 带有 actionListener 的 JButton 数组...打印结果时出现问题

转载 作者:行者123 更新时间:2023-12-02 06:33:09 27 4
gpt4 key购买 nike

基本上,我为字母表中的每个字母创建了一个数组,然后将其添加到 JButton 数组中。这工作得很好,但是我现在尝试添加一个 Action 监听器,我成功地使其工作。

但是,它可以工作,因为我有 26 个 if 语句来检查每个按钮是否被按下,因此我尝试添加一个 for 循环。

现在,当我按下按钮时,它会打印出有关 JbUTTON 属性的大量垃圾。我哪里可能出错了?

String[] letters = { "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X", "C", "V", "B", "N", "M" };
layout.add(scrollBar);
for (int i=0; i < 26; i++)
{

if (i==25)
{
layout.add(spacebar);
spacebar.setPreferredSize(new Dimension(310,50));
spacebar.setBackground(Color.black);
spacebar.setForeground(Color.white);
spacebar.addActionListener(new action());
}

AlphaButton[i] = new JButton(letters[i]);
AlphaButton[i].setPreferredSize(new Dimension(50,50));
AlphaButton[i].setBackground(Color.black);
AlphaButton[i].setForeground(Color.white);
layout.add(AlphaButton[i]);
AlphaButton[i].addActionListener(new action());
}
class action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String V = screenArea.getText();

for (int i=0; i < 26; i++)
{
if( e.getSource() == AlphaButton[i] )
{
screenArea.setText(V + AlphaButton[i]);
}
}

}
}

最佳答案

如果您需要返回按下的字母:

screenArea.setText(V + AlphaButton[i].getText);

关于java - 带有 actionListener 的 JButton 数组...打印结果时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19897433/

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