java gui if else不适用于arraylist
我的java GUI代码从一个文件添加到arraylist中。我在一个按钮中有一个代码,该代码将文本字段中引入的代码与araylist中的位置以及if-else进行比较。但是输入您输入的内容总是经过else,而不是if 如果我手动添加组件,如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(),如果不起作用,则无法很好地进行比较 问题是,
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);
}