-1

Hangman プログラムからコードを書き込もうとしています。この考えが正しいかどうかはわかりません。ユーザーがボタンを押したときに動的に変更する必要があるテキストフィールドにダッシュ (_ _ _ _ _) を入れることを考えていました。たとえば、ユーザーが以下のコードでボタン「A」を押すと、ダッシュが ( A _ _ _ ) に変わります。つまり、ユーザーは文字 A を正しく推測しました。

これを実装する方法についてはまだ混乱しています。eventListeners を添付することは、私の次の部分になります。しかし今のところ、基本的な 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();
}
}
4

3 に答える 3

3

はいJFromattedTextFeildMaskFormatterクラスで使用します。MaskFormatterを支援するsetPlaceholderCharacter('_')機能があります。InputVerifierを使用して、ユーザー入力の有効性を確認する必要がある場合もあります。JFormattedTextFeild のドキュメントには、 を使用する方法を示す例がInputVerifierあります。

于 2013-10-15T23:23:37.887 に答える
1

ダッシュ付きのテキスト フィールドはお勧めしませんが、そのようにすることはできます。試してみて、どのように見えるかを確認してから、より良いものを作成してください :-) たとえば、パネルやラベルに画像、様式化されたボタン、またはそれぞれに文字が付いた大きなラベルを使用できます。ゲームをどのように見せたいかを描いてから、コーディングを開始します。それはコードの前の設計です:-)

于 2013-10-15T23:23:55.213 に答える