📄 quizplayer.java
字号:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.ArrayList;
import javax.swing.*;
import java.awt.*;
public class QuizPlayer_Step2 {
File f = new File("MyQuiz.txt");
JTextArea text1 = new JTextArea(10, 45);
JTextArea text2 = new JTextArea(10, 45);
JFrame frame = new JFrame("My QuizPlayer for 06201216");
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
JPanel panel5 = new JPanel();
JPanel panel6 = new JPanel();
JPanel panel7 = new JPanel();
JLabel label1 = new JLabel("Question:");
JLabel label2 = new JLabel("Answer:");
JScrollPane scroller1 = new JScrollPane(text1);
JScrollPane scroller2 = new JScrollPane(text2);
JButton button1 = new JButton("Read");
JButton button2 = new JButton("Answer");
JButton button3 = new JButton("Next");
public static void main(String[] args) {
QuizPlayer_Step2 qp = new QuizPlayer_Step2();
qp.go();
}
public void go() {
button1.setToolTipText("READ");
button2.setToolTipText("ANSWER");
button3.setToolTipText("NEXT");
button1.setBackground(Color.GREEN);
button2.setBackground(Color.YELLOW);
button3.setBackground(Color.RED);
scroller1.setVerticalScrollBarPolicy(
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller1.setHorizontalScrollBarPolicy(
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scroller2.setVerticalScrollBarPolicy(
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller2.setHorizontalScrollBarPolicy(
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
panel1.add(label1);
panel2.add(scroller1);
panel3.add(panel1);
panel3.add(panel2);
panel4.add(label2);
panel5.add(scroller2);
panel6.add(panel4);
panel6.add(panel5);
panel7.add(button1);
panel7.add(button2);
panel7.add(button3);
panel3.setLayout(new BoxLayout(panel3, BoxLayout.Y_AXIS));
panel6.setLayout(new BoxLayout(panel6, BoxLayout.Y_AXIS));
frame.getContentPane().add(BorderLayout.NORTH, panel3);
frame.getContentPane().add(BorderLayout.CENTER, panel6);
frame.getContentPane().add(BorderLayout.SOUTH, panel7);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(550, 500);
frame.setVisible(true);
button1.addActionListener(new Button1_Lisener());
button2.addActionListener(new Button2_Lisener());
button3.addActionListener(new Button3_Lisener());
}
int Button1_number = 0;
int Button2_number = 0;
int Button3_number = 0;
boolean Stop_Flag = false;
ArrayList<String> arrText = new ArrayList<String>();
class Button1_Lisener implements ActionListener {
public void actionPerformed(ActionEvent event) {
Button1_number = 0;
Button2_number = 0;
Button3_number = 0;
Stop_Flag = false;
try {
BufferedReader br = new BufferedReader(new FileReader(f));
String line = null;
arrText.clear();
while ((line = br.readLine()) != null) {
arrText.add(line);
}
line = (String) arrText.get(Button1_number);
String[] result = line.split(",");
String question = result[0];
text1.setText(question);
text1.setBackground(Color.LIGHT_GRAY);
text2.setText(null);
text2.setBackground(Color.WHITE);
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Button2_Lisener implements ActionListener {
public void actionPerformed(ActionEvent event) {
if (Stop_Flag == false && Button2_number == Button3_number) {
try {
BufferedReader br = new BufferedReader(new FileReader(f));
String line = null;
line = (String) arrText.get(Button2_number);
String[] result = line.split(",");
String answer = result[1];
text2.setText(answer);
text2.setBackground(Color.LIGHT_GRAY);
br.close();
} catch (IOException e) {
e.printStackTrace();
}
Button2_number++;
}else{
JOptionPane.showMessageDialog(null, "Error!", "Error!", JOptionPane.ERROR_MESSAGE);
}
}
}
class Button3_Lisener implements ActionListener {
public void actionPerformed(ActionEvent event) {
if (Button2_number != arrText.size()) {
try {
BufferedReader br = new BufferedReader(new FileReader(f));
String line = null;
line = (String) arrText.get(Button2_number);
String[] result = line.split(",");
String question = result[0];
text1.setText(question);
text1.setBackground(Color.LIGHT_GRAY);
text2.setText(null);
text2.setBackground(Color.WHITE);
br.close();
} catch (IOException e) {
e.printStackTrace();
}
Button3_number++;
} else {
Stop_Flag = true;
text1.setText("No Question!!");
text1.setBackground(Color.PINK);
text2.setText("No Answer!!");
text2.setBackground(Color.PINK);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -