1

ユーザーがボタンを押してテキストボックスに単語を入力する必要があるプログラムを作成したいのですが、テキストを入力したら、入力ボタンを押す必要があり、入力した単語が別の文字列に対してチェックされます。入力した文字列を確認することはできますが、どうすればよいかわかりません。そのため、ユーザーは最初にボタンを選択し、次にテキストを入力してから入力ボタンを押す必要があります。

ユーザーが選択できる複数のボタンがあり、それらには画像があり、ユーザーはテキストボックスにこれらの画像が何であるかを書き込んで、単語が正しいかどうかを確認する必要があります。別のボタンを押して確認します。

たとえばbag cat house lamp post、ユーザーが画像付きの 4 つのボタンで 1 つのボタンを選択し、テキスト ボックスを使用して単語のスペルを入力し、Enter キーを押して、テキスト ボックス内のテキストが特定の文字列と一致するかどうかを確認します。

ありがとう

これが私が試したことです:

 public class Textb extends JPanel{

 JFrame frame =new JFrame();
 JPanel panel =new JPanel();
 JButton enter =new JButton("Enter");
 JButton wordBtn =new JButton("Cat");
 JTextField tb =new JTextField();

public Textb() {

    // Panel and button layout 

    panel.setLayout(null);
    panel.setBackground(Color.WHITE);
    panel.setCursor( new Cursor(Cursor.HAND_CURSOR) ); // set the cursor to a hand 

    Insets insets = panel.getInsets();

    tb.setVisible(true);
    tb.setBounds(200 + insets.left, 5 + insets.top, 110,60);
    tb.setBackground(Color.YELLOW);


    enter.setLayout(null);
    enter.setBounds(10 + insets.left, 5 + insets.top, 110,60);
    enter.setBackground(Color.WHITE);
    enter.setBorder(BorderFactory.createEmptyBorder());
    enter.setFocusPainted( false );

    wordBtn.setLayout(null);
    wordBtn.setBounds(10 + insets.left, 70 + insets.top, 110,60);
    wordBtn.setBackground(Color.WHITE);
    wordBtn.setBorder(BorderFactory.createEmptyBorder());
    wordBtn.setFocusPainted( false );


    panel.add(tb);
    panel.add(enter);
    panel.add(wordBtn);
    frame.add(panel);
    frame.setTitle("Matching");
    frame.setSize(800, 600);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); 
    frame.setVisible(true);



    // This is where i did the action listener
    enter.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae)
        {
            if( ae.getSource().equals(wordBtn) )
            {
                if(tb.getText().equals("cat")){
                    tb.setText("Correct");
                }
            }
        }
    });
}


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

3 に答える 3