0

これらのコードを使用してテキスト ファイルをランダムに読み取り、出力を label に表示します。ランダムな単語や行を読み取って、ラベルに出力する方法がわかりません。最後に、私の目的はランダムな単語を読み取り、その単語をラベルに出力することです

static JLabel lbl;
JLabel word ;

a(){    
    ButtonComponent ();
    OtherParts ();
    labels();       

    setTitle("HangmanGame");
    setSize(840, 310);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setLayout(null);
    setVisible(true);
    setLocation(320, 150);
}

public void labels(){
    for(int s=19; s>=8;s--){
        word = new JLabel ("");
        word.setBounds( s*30, 60, 20, 20);
        add(word);              
    }

    for (int a = 19; a >= 8; a--) {
        JLabel lbl = new JLabel("_");
        lbl.setBounds(a * 30, 60, 20, 20);
        add(lbl);
    }
}

public void OtherParts () {
    JTextField tf = new JTextField();
    tf.setBounds(55, 190, 340, 30);
    add(tf);

    JButton Guess = new JButton("Guess");
    Guess.setBounds(410, 190, 355, 30);
    add(Guess);
    JLabel chance = new JLabel ("Remaining Chance");
    chance.setBounds(55, 215, 340, 30);
    add(chance);

}

public void ButtonComponent () {
    for (int i = 65; i < 78; i++) {
        JButton temp = new JButton("" + (char) i);
        temp.addActionListener(new BtnListener());
        temp.setBounds((i - 64) * 55, 110, 50, 30);
        add(temp);
    }
    for (int i = 78; i < 91; i++) {
        JButton temp = new JButton("" + (char) i);
        temp.addActionListener(new BtnListener());
        temp.setBounds((i - 77) * 55, 150, 50, 30);
        add(temp);
    }
}

public void MenuComponent () {
    JMenuBar menubar = new JMenuBar();
    setJMenuBar(menubar);

    JMenu file = new JMenu("File");
    menubar.add(file);
    JMenuItem newgame = new JMenuItem("New");
    JMenuItem savegame = new JMenuItem("Save Game");
    JMenuItem Loadgame = new JMenuItem("Load");
    JMenuItem exit = new JMenuItem("Exit");

    file.add(savegame);
    file.add(Loadgame);
    file.add(exit);
    file.add(newgame);

    exit.addActionListener(new exitListener());
    JMenu option = new JMenu("Option");
    menubar.add(option);
    JMenuItem op = new JMenuItem("Option");
    option.add(op);
}

class exitListener implements ActionListener {
    public void actionPerformed(ActionEvent arg0) {
        System.exit(0);
    } 
}

class BtnListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {    
        JButton clickedButton = (JButton) e.getSource();
        String text = clickedButton.getText();
        System.out.println(text + lbl);     
        //word.setText(text);
    }
}

public static void main(String[] args) {
    new a();
    Properties readfile = new Properties();
    try {
        readfile.load(new FileInputStream("ciu"));
    } catch (Exception e) {
        System.out.println(e.toString());
    }
    for (int i = 1; i <5; i++) {
        String line = readfile.getProperty("" + i);
        System.out.println(line);
    }
}
4

2 に答える 2

3

問題に関係のないコードがたくさんあります。乱数を生成したい場合は、Randomを使用できます

 Random random = new Random();
 int randomInt = random.nextInt(10);//generate random numbers between 0..10

あなたがここで何を望んでいるのかまだわかりませんが、これが役に立てば幸いです

于 2012-11-13T12:28:33.013 に答える
0

テキストファイルから行を読み取る方法は次のとおりです https://stackoverflow.com/a/9181778/1360074

ラベルにテキストを設定する方法は次のとおりです。

JLabel label = new JLabel();
label.setText(str);
于 2012-11-13T12:30:07.033 に答える