2014-03-26 78 views
0

我正在創建一個測驗,需要我的JLabel從文本文件中讀取一個隨機行,並將其用作詢問用戶的問題。 JLabel我希望這個問題出現在我的主要課程的單獨的JDialog課程中。從文本文件中讀取隨機行到JLabel

我被告知最好的辦法是創建一個文本文件,其中包含所有的數據/字符串,然後程序將信息從我的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(); 
    } 
} 

} 

回答

3

爲什麼不能在所有問題讀取應用程序啓動時,將它們存儲在某些集合,然後隨便抓一個隨機當你需要它時?比每次嘗試讀取文件都容易得多。

+0

嗯。我不知道這種方法。也許你可以詳細說明 - 如果你喜歡說我更容易,我會全力以赴,並且願意實現這樣執行的代碼! – user3455584

+0

當應用程序啓動時,讀取文件。將每個問題存儲在某種集合中,也許是一些'List'實現。當你需要一個問題時,產生一個小於你所擁有的問題數量的隨機數字,並從'List'中取出這個元素。 –

+0

我確實已經有了在arraylist中排列的問題,但是,我被告知從單獨的文件中讀取問題會更好嗎?從數組列表中讀取它們會好嗎? – user3455584