用于在标签上添加后者的方法按钮



>我有 HangGame 程序,当我按下任何后一个按钮时,我不会编写此代码,例如 (A,B,..... )我按下的后者将出现在我在文本文件中阅读的单词的标签部分的正确位置,例如我在文本文件中阅读单词,例如 (Stake) 和屏幕上会出现五个标签 (_ _ _ _ ) , 当我按住 S 按钮时,字符 S 将出现在第一个标签部分(S _ _ _ _ )上,依此类推......我不知道我是如何为 Button 中的 Action 侦听器编写代码的。最后,我添加了有问题的标签,但我不知道如何将正确的字符放在正确的位置。我希望你理解我的问题。

    public void ButtonComponent () {
    for (int i = 65; i < 78; i++) {
        JButton temp = new JButton("" + (char) i);
        temp.addActionListener(new BtnListener());
        temp.setBounds((i - 64) * 55, 110, 50, 30);
        add(temp);
    }
    for (int i = 78; i < 91; i++) {
        JButton temp = new JButton("" + (char) i);
        temp.addActionListener(new BtnListener());
        temp.setBounds((i - 77) * 55, 150, 50, 30);
        add(temp);
    }
}
class BtnListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
    for (int s=0;s<splitword.length;s++) {
    String btnText = ((JButton)e.getSource()).getText().toLowerCase();
    if (splitword[s].contains(btnText)) {
        System.out.println("This letter is contained in the word:" + btnText);
    }

由于这是刽子手,您必须跟踪使用的所有正确字母。下面是解决方案的模板:

String guessWord = "STAKE";
StringBuilder builder = new StringBuilder();
builder.append("S"); // hint: btnText...
builder.append("T");
String displayWord = guessWord.replaceAll("[^" + builder.toString() + "]", "_");

我不会直接解决问题,但这应该给你足够的工作。

最新更新