上面有一个按钮 上一题 ,下一题 当按了 按钮下一题时 在TextArea 中显示出另一道题目  如本来是1  后显示2 
按下上一题显示 前面显示的那道题目  当前是第2题  显示 第1题

解决方案 »

  1.   

    很简单,将题库装入一集合对象中,设置一个游标就OK了。package com.sunshine;public class Subject {
    private String content; // 题目内容
    private String key; // 答案

    public Subject() {

    } public String getContent() {
    return content;
    } public void setContent(String content) {
    this.content = content;
    } public String getKey() {
    return key;
    } public void setKey(String key) {
    this.key = key;
    }
    }package com.sunshine;import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;public class Main extends JFrame {

    private JPanel jContentPane;

    private JPanel jp_jButtons;

    private JScrollPane jsp_jTextArea;

    private JTextArea jta_content;

    private JButton jb_next;

    private JButton jb_previous;

    private ArrayList<Subject> subjects = new ArrayList<Subject>(); // 题库

    private int counter = 0; // 游标

    public Main(ArrayList<Subject> subjects) {
    setSubjects(subjects);
    init();
    }

    private void init() {
    this.setSize(400, 300);
    this.setTitle("测试");
    this.setResizable(false);
    this.setContentPane(getJContentPane());
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
    this.pack();
    }

    private JPanel getJContentPane() {
    if (jContentPane == null) {
    jContentPane = new JPanel(new BorderLayout());
    jContentPane.add(getJp_jButtons(), BorderLayout.SOUTH);
    jContentPane.add(getJsp_jTextArea(), BorderLayout.CENTER);
    }
    return jContentPane;
    } private JPanel getJp_jButtons() {
    if (jp_jButtons == null) {
    jp_jButtons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    jp_jButtons.add(getJb_previous());
    jp_jButtons.add(getJb_next());
    }
    return jp_jButtons;
    }

    private JScrollPane getJsp_jTextArea() {
    if (jsp_jTextArea == null) {
    jsp_jTextArea = new JScrollPane(getJta_content());
    }
    return jsp_jTextArea;
    }

    private JTextArea getJta_content() {
    if (jta_content == null) {
    jta_content = new JTextArea(10, 20);
    jta_content.setEditable(false);
    jta_content.setLineWrap(true);
    }
    return jta_content;
    } private JButton getJb_next() {
    if (jb_next == null) {
    jb_next = new JButton("下一题");

    jb_next.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    counter++;
    getJta_content().setText(subjects.get(counter).getContent());
    if (counter == subjects.size()-1) {
    jb_next.setEnabled(false);
    }
    getJb_previous().setEnabled(true);
    }
    });
    }
    return jb_next;
    } private JButton getJb_previous() {
    if (jb_previous == null) {
    jb_previous = new JButton("上一题");

    jb_previous.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    counter--;
    getJta_content().setText(subjects.get(counter).getContent());
    if (counter == 0) {
    jb_previous.setEnabled(false);
    }
    getJb_next().setEnabled(true);
    }
    });
    }
    return jb_previous;
    }

    public void setSubjects(ArrayList<Subject> subjects) {
    this.subjects = subjects;
    counter = 0;

    if (subjects != null && subjects.size() > 0) {
    getJta_content().setText(subjects.get(0).getContent());
    }

    if (subjects == null || subjects.size() < 2) {
    getJb_next().setEnabled(false);
    } if (subjects == null || counter == 0) {
    getJb_previous().setEnabled(false);
    }
    } public static void main(String[] args) {
    ArrayList<Subject> subjects = new ArrayList<Subject>();
    Subject[] ss = new Subject[10];
    for (int i = 0; i < ss.length; i++) {
    ss[i] = new Subject();
    ss[i].setContent("这是第" + (i+1) + "个题目");
    ss[i].setKey("" + (i+1));
    subjects.add(ss[i]);
    }

    new Main(subjects);
    }}