Java從文本運用輸入輸出流從文檔中讀取數據後做成界面選擇題判斷正誤

學習輸入輸出流後做了一個小程序

讀取數據後做成一個GUI選擇題判斷正誤

最後一直在改結束按鈕,最後的最後也沒有改出很大的效果

唉!就這樣吧!!

大家將就看吧!

package com.Grap;


import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;


import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;


public class javaIODemo extends JFrame implements ActionListener,ItemListener{
JPanel p1,p2,p3,p4;
JLabel jlQuestion,jlSelect,jlScore;
JButton startbutton,nextbutton,stopbutton;
JTextArea textarea;
JScrollPane scrollpane;
JRadioButton button[];
ButtonGroup buttongroup;
BufferedReader br;
String answer;

void display() throws IOException{
p1=new JPanel();p2=new JPanel();
p3=new JPanel();p4=new JPanel();
jlQuestion=new JLabel("題目");
jlSelect=new JLabel("選項");
jlScore=new JLabel("");
startbutton=new JButton("開始");
nextbutton=new JButton("下一題");
stopbutton=new JButton("結束");
textarea=new JTextArea(3,30);
scrollpane=new JScrollPane(textarea);
button=new JRadioButton[4];
buttongroup=new ButtonGroup();
for(int i=0;i<4;i++){
button[i]=new JRadioButton("");
buttongroup.add(button[i]);
button[i].addItemListener(this);
}
br=new BufferedReader(new FileReader("G:\\text.txt"));
int m=0;
br.mark(m);
Container c=getContentPane();//上部添加
p3.add(jlQuestion);
p3.add(scrollpane);
c.add(p3,BorderLayout.NORTH);

p1.setLayout(new GridLayout(2,1));//中心添加
p1.add(p4); p1.add(jlScore);
p4.add(jlSelect);
for(int i=0;i<4;i++){
p4.add(button[i]);
}
c.add(p1,BorderLayout.CENTER);
// p2.setLayout(new FlowLayout());
p2.add(startbutton);//下部添加
p2.add(nextbutton);
p2.add(stopbutton);
c.add(p2,BorderLayout.SOUTH);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
startbutton.addActionListener(this);
nextbutton.addActionListener(this);
stopbutton.addActionListener(this);
}
public void showquestion() throws Exception{
textarea.setText(br.readLine());
for(int i=0;i<4;i++){
button[i].setText(br.readLine());
button[i].setEnabled(true);
}
answer=br.readLine();
jlScore.setText(" ");

}

@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
for(int i=0;i<4;i++){
if(button[i].isSelected())
if((int)answer.charAt(0)==i+65)
jlScore.setText("恭喜你,答對了");
else
jlScore.setText("答案錯誤!");

}

}


@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==startbutton||e.getSource()==nextbutton){
try{
showquestion();
}catch(Exception e1){
e1.printStackTrace();
}
}
if(e.getSource()==stopbutton){
startbutton.setEnabled(false);
nextbutton.setEnabled(false);
// for(int i=0;i<4;i++){
// if(button[i].isSelected())
// button[i].setSelected(false);
//// button[i].setEnabled(false);
// }
stopbutton.setOpaque(true);
stopbutton.addActionListener(this);
}
}


public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
(new javaIODemo()).display();
}

}








最後做出來就是這樣了啦!!

希望大家採納!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章