从文本文件中读取随机行到JLabel

时间:2014-03-26 20:34:40

标签: java swing jlabel

我正在创建一个测验,需要我的JLabel从文本文件中读取一个随机行,并将其作为询问用户的问题。我希望问题出现的JLabel位于我的主要课程的单独JDialog课程中。

我被告知最好的方法是创建一个文本文件,其中包含程序将从中提取信息并将其实现到我的JLabel中的所有数据/字符串。

我已阅读并从我所知道的我需要使用缓冲读取器和文件阅读器,但是,我不完全确定如何将其实现到我的代码中以及如何使它成为我的代码每次随机问题。

有人可以帮助我,JLabel的代码如下

package ZillionaireGUI;

import java.awt.Frame;

import javax.swing.ButtonGroup;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;


public class questionDialog extends JDialog {
private JLabel Question;
private JRadioButton answerThree;
private JRadioButton answerFour;
private JRadioButton answerTwo;
private JRadioButton answerOne;
public questionDialog(Frame parent) {
    super(parent);
}


public questionDialog(JFrame frame) {
    super(frame);
    initGUI();
}

private void initGUI() {
    try {

        getContentPane().setLayout(null);

        Question = new JLabel();
        getContentPane().add(Question);
        Question.setText("jLabel1");
        Question.setBounds(39, 127, 383, 29);

        answerOne = new JRadioButton();
        getContentPane().add(answerOne);
        answerOne.setText("jRadioButton1");
        answerOne.setBounds(26, 183, 93, 20);

        answerTwo = new JRadioButton();
        getContentPane().add(answerTwo);
        answerTwo.setText("jRadioButton1");
        answerTwo.setBounds(130, 183, 93, 20);

        answerThree = new JRadioButton();
        getContentPane().add(answerThree);
        answerThree.setText("jRadioButton1");
        answerThree.setBounds(247, 183, 93, 20);

        answerFour = new JRadioButton();
        getContentPane().add(answerFour);
        answerFour.setText("jRadioButton1");
        answerFour.setBounds(360, 183, 93, 20);

        ButtonGroup group = new ButtonGroup();
        group.add(answerOne);
        group.add(answerTwo);
        group.add(answerThree);
        group.add(answerFour);


        this.setSize(490, 393);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

1 个答案:

答案 0 :(得分:3)

为什么不在应用程序启动时读取所有问题,将它们存储在某个集合中,然后在需要时随机获取它?比每次尝试读取文件容易得多。