当前位置: 首页 > 面试题库 >

如何在Java Swing for Hangman游戏中从侦听器获取更新的文本字段?

羊舌承颜
2023-03-14
问题内容

我正在尝试从Hangman程序编写代码。我不确定这个想法是否正确。我当时想在文本字段中使用破折号( _ _ ),当用户按下按钮时必须动态更改。例如,如果用户在下面的代码中按下按钮“ A”,则破折号应变为(A _ _ _)。那是用户猜测字母A是正确的。

我仍然对如何实现这一点感到困惑。附加eventListener将是我的下一部分。但是就目前而言,我必须使基本的GUI正常工作,为此我需要一个如何实现整个功能的想法。

什么是更好的方法来使这一工作?这是我到目前为止的代码。

import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridLayout;
import java.awt.event.*;
import java.awt.image.BufferedImage;

public class HangmanGUI {

public HangmanGUI() {
    JFrame myframe= new JFrame();
    myframe.getContentPane().setLayout(new BorderLayout());
    JPanel myPanel = new JPanel();
    myPanel.setLayout(new GridLayout(2,15));
    myframe.setSize(600,600);

    for (char alphabet = 'A';alphabet<='Z';alphabet++){
        myPanel.add(new JButton(alphabet+""));
    }

    myframe.getContentPane().add(myPanel, BorderLayout.SOUTH);
    myframe.setTitle("Hangman Game");
    myframe.setVisible(true);
    myframe.setLocationRelativeTo(null);
    myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args){
    new HangmanGUI();
}
}

问题答案:

是的,JFromattedTextFeildMaskFormatter班级一起使用。MaskFormatter具有setPlaceholderCharacter('_')帮助您的功能。您可能还需要使用InputVerifier来验证用户输入的有效性。JFormattedTextFeild的文档提供了示例,以显示如何InputVerifier与其一起使用。



 类似资料:
  • 我想在我的中添加一种,当用户更改的值时,应用程序会在控制台上打印一些内容。 我搜索了一下,发现了以下非常类似的问题:将Listener值更改为JTextField 上述问题的答案非常清晰有效,但不幸的是,它只对(而不是)有用,因为它说您应该像这样使用DocumentListener: 但在JavaFX的文本字段中,您无法执行此操作。所以解决办法是什么? (用代码描述可能非常好,但如果不可能,任何提

  • 我需要一些帮助。我有一个s的。 我想检查值是否发生了变化。如果是,我想知道它是哪个文本字段。我知道我可以使用侦听器来执行此操作,但这只适用于单个侦听器。 我希望它在数组上工作并确定哪个文本字段已更改。 提前感谢!

  • **服务器** **客户** 并且我运行它,ip是环回(127.0.0.1),端口是7755。 客户端套接字的对等ip:127.0.0.1 客户端套接字的对等端口6311 -1 0 0 0 我的问题是,如果监听(服务器)套接字只处理客户端的连接,那么它的对等端不应该存在?那个错误的IP和端口是什么?只是垃圾值?

  • 问题内容: 是否有原因导致代码中显示的动作侦听器内部?另外,如果有,我该如何解决此错误? 问题答案: 您可以使用一个不错的简单技巧… 如果未为按钮指定,则使用按钮的。 现在,如果您确实指定了按钮的属性,并且您仍然想知道文本(对我来说似乎很奇怪),则可以使用更多类似…

  • 我正在实现一个片段,该片段调用两个。

  • 如果我有一个类似“update(JsonObject body)”的调用,其目的是获取一个现有文档并更新部分文档,而不是全部文档,那么这是如何工作的?