java gui if else不适用于arraylist

java gui if else不适用于arraylist,java,swing,Java,Swing,我的java GUI代码从一个文件添加到arraylist中。我在一个按钮中有一个代码,该代码将文本字段中引入的代码与araylist中的位置以及if-else进行比较。但是输入您输入的内容总是经过else,而不是if 如果我手动添加组件,如Arraylist Arraylist answer=new Arraylist() 如果其他方法有效的话 但是,如果我将textfield的文本与 ArrayList answer1=新的ArrayList(),如果不起作用,则无法很好地进行比较 问题是,

我的java GUI代码从一个文件添加到arraylist中。我在一个按钮中有一个代码,该代码将文本字段中引入的代码与araylist中的位置以及if-else进行比较。但是输入您输入的内容总是经过else,而不是if

如果我手动添加组件,如
Arraylist Arraylist answer=new Arraylist()
如果其他方法有效的话

但是,如果我将textfield的文本与
ArrayList answer1=新的ArrayList(),如果不起作用,则无法很好地进行比较

问题是,我需要问用户266个问题,用户必须输入答案,如果答案不正确,应该会出现错误的回复消息 但是我无法使用if-else来处理加载了文件的arraylist

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.awt.event.ActionEvent;
import javax.swing.JTextArea;

public class question_answer extends JFrame {

    private JPanel contentPane;
    private JTextField textField;
    private JButton btnAnswer;
    private JLabel lblNewLabelcuestion;
    private JLabel LabelTextF;
    private JLabel labelArraylistPos;
    private JLabel lblNewLabelTF;
    private JLabel lblNewLabelAL;
    static int count = 0;

    private JLabel lblNewLabel_1;
    private static JTextArea textArea;
    private JLabel lblNewLabel;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {

                    question_answer frame = new question_answer();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

        });

    }

    /**
     * Create the frame.
     */
    public question_answer() {
        File archive = null;
        FileReader fr = null;

        //This works
        /*
         * ArrayList<String> question = new ArrayList<String>();
         * question.add("What is your name?");
         * question.add("What is your surname?");
         * question.add("What is your age?");
         * ArrayList<String> answer = new ArrayList<String>();
         * answer.add("Pedro"); 
         * answer.add("Rodriguez");
         * answer.add("46");
         */

        ArrayList<String> answer1 = new ArrayList<String>();

        try {
            archive = new File("C:\\answer.txt");
            String line;
            fr = new FileReader(archive);
            BufferedReader br = new BufferedReader(fr);

            while ((line = br.readLine()) != null) {
                answer1.add(line);
            }

            br.close();
        } catch (IOException e) {
            System.out.println(e);
        }

        finally {
            try {
                if (fr != null) {
                    fr.close();

                }
            } catch (IOException e) {
            }
        }

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 567, 400);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        lblNewLabelcuestion = new JLabel("New label");
        lblNewLabelcuestion.setBounds(60, 56, 360, 24);
        contentPane.add(lblNewLabelcuestion);

        lblNewLabelTF = new JLabel("New label");
        lblNewLabelTF.setBounds(60, 292, 56, 16);
        contentPane.add(lblNewLabelTF);

        LabelTextF = new JLabel("TextField");
        LabelTextF.setBounds(60, 263, 56, 16);
        contentPane.add(LabelTextF);

        lblNewLabelAL = new JLabel("New label");
        lblNewLabelAL.setBounds(170, 292, 56, 16);
        contentPane.add(lblNewLabelAL);

        labelArraylistPos = new JLabel("Arraylist Position");
        labelArraylistPos.setBounds(170, 263, 110, 16);
        contentPane.add(labelArraylistPos);

        textField = new JTextField();
        textField.setBounds(340, 139, 116, 22);
        contentPane.add(textField);
        textField.setColumns(10);
        lblNewLabelcuestion.setText(answer1.get(count));
        btnAnswer = new JButton("answer");

        lblNewLabelAL.setText(answer1.get(count));

        btnAnswer.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                String line1;
                for (int j = 0; j < answer1.size(); j++) {
                    line1 = answer1.get(j);
                    textArea.append(line1);
                }

                lblNewLabelcuestion.setText(answer1.get(count));
                lblNewLabelAL.setText(answer1.get(count));
                lblNewLabelTF.setText(textField.getText());

                String c = answer1.get(count);
                String Tf = textField.getText();

                if (Tf.equals(c)) {
                    lblNewLabel_1.setText("Good");
                } else {
                    lblNewLabel_1.setText("Wrong");
                }
                count += 1;
            }
        });
        btnAnswer.setBounds(340, 198, 97, 25);
        contentPane.add(btnAnswer);

        lblNewLabel_1 = new JLabel("New label");
        lblNewLabel_1.setBounds(45, 153, 256, 16);
        contentPane.add(lblNewLabel_1);

        textArea = new JTextArea();
        textArea.setBounds(345, 273, 181, 67);
        contentPane.add(textArea);

        lblNewLabel = new JLabel("achive.text  content");
        lblNewLabel.setBounds(340, 244, 116, 16);
        contentPane.add(lblNewLabel);
    }

}
`
导入java.awt.BorderLayout;
导入java.awt.EventQueue;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
导入javax.swing.border.EmptyBorder;
导入javax.swing.JLabel;
导入javax.swing.JTextField;
导入javax.swing.JButton;
导入java.awt.event.ActionListener;
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.awt.event.ActionEvent;
导入javax.swing.JTextArea;
公共类问答扩展JFrame{
私有JPanel内容窗格;
私有JTextField textField;
私人JButton Btnaswer;
私人JLabel lblNewLabelcuestion;
私人JLabel-labeltexf;
私人JLabel labelArraylistPos;
私人JLabel lblNewLabelTF;
私人JLabel lblnewlabel;
静态整数计数=0;
私人JLabel lblNewLabel_1;
私有静态JTextArea textArea;
私人JLabel lblNewLabel;
/**
*启动应用程序。
*/
公共静态void main(字符串[]args){
invokeLater(新的Runnable(){
公开募捐{
试一试{
问题\答案框架=新问题\答案();
frame.setVisible(true);
}捕获(例外e){
e、 printStackTrace();
}
}
});
}
/**
*创建框架。
*/
公众问题(答案){
档案档案=null;
FileReader fr=null;
//这很有效
/*
*ArrayList问题=新建ArrayList();
*问题。加上(“你叫什么名字?”);
*问题。加上(“你姓什么?”);
*问题。加上(“你的年龄是多少?”);
*ArrayList answer=新的ArrayList();
*答复。添加(“佩德罗”);
*答复。添加(“罗德里格斯”);
*答复.添加(“46”);
*/
ArrayList answer1=新的ArrayList();
试一试{
存档=新文件(“C:\\answer.txt”);
弦线;
fr=新文件读取器(存档);
BufferedReader br=新的BufferedReader(fr);
而((line=br.readLine())!=null){
答1.增加(行);
}
br.close();
}捕获(IOE异常){
系统输出打印ln(e);
}
最后{
试一试{
如果(fr!=null){
fr.close();
}
}捕获(IOE异常){
}
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
立根(100100567400);
contentPane=newjpanel();
setboorder(新的EmptyBorder(5,5,5,5));
setContentPane(contentPane);
contentPane.setLayout(null);
lblNewLabelcuestion=新JLabel(“新标签”);
lblNewLabelcuestion.立根(60,56,360,24);
contentPane.add(lblNewLabelcuestion);
lblNewLabelTF=新的JLabel(“新标签”);
lblNewLabelTF.立根(60292,56,16);
contentPane.add(lblNewLabelTF);
LabelTextF=新的JLabel(“TextField”);
LabelTextF.立根(60263,56,16);
contentPane.add(LabelTextF);
lblNewLabelAL=新JLabel(“新标签”);
lblNewLabelAL.立根(170292,56,16);
contentPane.add(lblNewLabelAL);
labelArraylistPos=新的JLabel(“Arraylist位置”);
立根唇瓣(170263110,16);
contentPane.add(labelArraylistPos);
textField=新的JTextField();
textField.setBounds(340139 116 22);
contentPane.add(textField);
textField.setColumns(10);
lblNewLabelcuestion.setText(answer1.get(count));
Btnaswer=新按钮(“答案”);
lblnewlabel.setText(answer1.get(count));
添加ActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
字符串行1;
对于(int j=0;jwhile ((line = br.readLine()) != null) {
    answer1.add(line);
}
while ((line = br.readLine()) != null) {
    line = line.replace(System.getProperty("line.separator"), “”);
    answer1.add(line);
}