我正在尝试从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(); } }
是的,JFromattedTextFeild与MaskFormatter班级一起使用。MaskFormatter具有setPlaceholderCharacter('_')帮助您的功能。您可能还需要使用InputVerifier来验证用户输入的有效性。JFormattedTextFeild的文档提供了示例,以显示如何InputVerifier与其一起使用。
JFromattedTextFeild
MaskFormatter
setPlaceholderCharacter('_')
InputVerifier