사용자에게 질문을하고 그 질문에 응답 한 다음 다른 질문을하는 JSwing 앱이 있습니다. 내 문제는 첫 번째 질문에 응답 한 후 두 번째 질문이 actionPerformed 메서드에서 나타나지만 응답 변수에 새 대답을 할당하고 if else 문을 시작하는 데 필요한 다음 메서드 (체커 메서드) 초기화하지 않는 것 같습니다. 전체 코드는 다음과 같습니다.다른 메소드 초기화하기
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseAdapter;
public class hello extends JApplet implements ActionListener{
JTextArea questions;
JTextField answers;
JPanel panel;
String response;
public void init(){
questions = new JTextArea("Hello. State your name: ", 15, 65);
questions.setEditable(false);
questions.setLineWrap(true);
questions.setWrapStyleWord(true);
questions.setBackground(Color.black);
questions.setForeground(Color.green);
questions.setFont(new Font("Monaco", Font.PLAIN, 12));
answers = new JTextField("Type here", 65);
answers.setBackground(Color.black);
answers.setForeground(Color.green);
answers.setFont(new Font("Monaco", Font.PLAIN, 12));
answers.addActionListener(this);
panel = new JPanel();
panel.add(questions);
panel.add(answers);
panel.setSize(480, 280);
panel.setBackground(Color.black);
getContentPane().add(panel, BorderLayout.CENTER);
answers.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
answers.setText("");
}
});
}
public void actionPerformed(ActionEvent e){
response = answers.getText();
questions.setText("How are you " + response + "?");
answers.setText("");
}
public void checker(ActionEvent f){
response = answers.getText();
if(response.equals("well")){
questions.setText("glad to hear it");
}
else{
questions.setText("i'm sorry to hear that");
}
}
}
모든 의견을 보내 주시면 감사하겠습니다.
이것은 작동하지 않는 것 같습니다. 질문이 표시되고 사용자 응답에 대한 응답이 결코 나오지 않는 동일한 문제가 발생합니다. "How are you"+ answers.getText() ...에 대해 JTextField에 입력 한 내용을 대체합니다. – guarrana
당신이 묘사하는 것은 소리가 나지 않습니다 :'actionPerformed'를 한 번만 입력하면'current'가'SECOND'가되고, 다시 "How are you ..."로 다시 설정할 수 없습니다. 'current = FIRST'가 어딘가에 있지 않으면 계속 호출됩니다. – itchy23
주위를 둘러 보면서 일하는 것 같습니다. 감사합니다 – guarrana