我这个程序执行没问题   我就是想实现对下拉框内容的选择 如果选择了test1  让f显示我要显示的内容;可是现在问题是  内容显示不出来 只显示行数 也不能想选择test1 test2 test3其中之一  用什么方法呢  着急!!!!!谢谢import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JPopupMenu;
import java.io.*;public class Exam extends JFrame{
 JFrame jframe=new JFrame("考试系统");
 JButton a,b,c,d;
 JLabel s,t,p,s1,s2;
 JTextArea f,text;
     Box b1,b2,b3,b4,b5;
 
 Choice th = new Choice();
 Checkbox x,y,pt,tf;
     
 public Exam(){
  //复选框
  x=new Checkbox("A");
    y=new Checkbox("B");
    pt=new Checkbox("C");
    tf=new Checkbox("D");
    //下拉框
  th.add("Test1");
        th.add("Test2");
        th.add("Test3");
        
    s=new JLabel("单机考试系统"); 
    t=new JLabel("试题内容");
  p=new JLabel("选择试题文件");
  s1=new JLabel("剩余时间");
  s2=new JLabel("时间:");
 
    setSize(50,60);
    setVisible(true);
Container com=getContentPane();
    
    b1=Box.createHorizontalBox();
    b2=Box.createHorizontalBox();
    b3=Box.createVerticalBox();
    b4=Box.createVerticalBox();
    b5=Box.createVerticalBox();
    //按钮
    a=new JButton("提交该题答案");
    b=new JButton("提取下一题目");
    c=new JButton("考试得分");
    d=new JButton("暂停计时");
    //文本框
    f=new JTextArea(20,30);
   
    text=new JTextArea(5,6);
    
    com.setLayout(new BorderLayout(2,2));
   
                                               
    b3.add(p);
    b3.add(th);
    b3.add(text);
    b3.add(c);
    b5.add(s1);
    b5.add(s2);
    b5.add(d);
    b3.add(b5,BorderLayout.SOUTH);
    com.add(b3,BorderLayout.WEST);
   
    b1.add(x);
    b1.add(y);
    b1.add(pt);
    b1.add(tf);
    b1.add(a);     b1.add(b);
    b4.add(t);
    b4.add(f);
    b4.add(b1);
    
    com.add(b4,BorderLayout.CENTER);
    com.add(s,BorderLayout.NORTH);
    com.validate();
    th.addItemListener(new MyExam());
   
   
       }
       class MyExam implements ItemListener{
       
        public void itemStateChanged(ItemEvent ie){
      
      
       if(ie.getStateChange()==ItemEvent.SELECTED){
         //String test1="selected";
        // String    test2="selected";
         //String    test3="selected;"
       }
        
        String record =null;
int recCount = 0;
try{
FileReader fr =new FileReader("C:/Documents and Settings/Administrator/桌面/student2/考试系统/Test1.txt");
BufferedReader br = new BufferedReader(fr);
record =new String();
while((record = br.readLine())!=null){
      recCount++;
f.setText("Line"+recCount+":"+record);

}
 br.close();
 fr.close();

}
catch(IOException e){
   e.printStackTrace();

}

       
    
       
     }
    }
public static void main(String []args){
Exam pd=new Exam();
pd.pack();
    
      

}
}

解决方案 »

  1.   


    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.JPopupMenu;
    import java.io.*;public class Exam extends JFrame{
     JFrame jframe=new JFrame("考试系统");
     JButton a,b,c,d;
     JLabel s,t,p,s1,s2;
     JTextArea f,text;
         Box b1,b2,b3,b4,b5;
     
     Choice th = new Choice();
     Checkbox x,y,pt,tf;
         
     public Exam(){
     //复选框
     x=new Checkbox("A");
        y=new Checkbox("B");
        pt=new Checkbox("C");
        tf=new Checkbox("D");
        //下拉框
     th.add("Test1");
            th.add("Test2");
            th.add("Test3");
            
        s=new JLabel("单机考试系统"); 
        t=new JLabel("试题内容");
     p=new JLabel("选择试题文件");
     s1=new JLabel("剩余时间");
     s2=new JLabel("时间:");
     
        setSize(50,60);
        setVisible(true);
    Container com=getContentPane();
        
        b1=Box.createHorizontalBox();
        b2=Box.createHorizontalBox();
        b3=Box.createVerticalBox();
        b4=Box.createVerticalBox();
        b5=Box.createVerticalBox();
        //按钮
        a=new JButton("提交该题答案");
        b=new JButton("提取下一题目");
        c=new JButton("考试得分");
        d=new JButton("暂停计时");
        //文本框
        f=new JTextArea(20,30);
       
        text=new JTextArea(5,6);
        
        com.setLayout(new BorderLayout(2,2));
       
                                                   
        b3.add(p);
        b3.add(th);
        b3.add(text);
        b3.add(c);
        b5.add(s1);
        b5.add(s2);
        b5.add(d);
        b3.add(b5,BorderLayout.SOUTH);
        com.add(b3,BorderLayout.WEST);
       
        b1.add(x);
        b1.add(y);
        b1.add(pt);
        b1.add(tf);
        b1.add(a);    b1.add(b);
        b4.add(t);
        b4.add(f);
        b4.add(b1);
        
        com.add(b4,BorderLayout.CENTER);
        com.add(s,BorderLayout.NORTH);
        com.validate();
        th.addItemListener(new MyExam());
       
       
           }
           class MyExam implements ItemListener{
           
           public void itemStateChanged(ItemEvent ie){
          
          
          if(ie.getStateChange()==ItemEvent.SELECTED){
            //Stringtest1="selected";
           // String    test2="selected";
            //String    test3="selected;"
          }
            
           String record =null;
    int recCount = 0;
    try{
    FileReader fr =new FileReader("H:/ems.txt");
    BufferedReader br = new BufferedReader(fr);
    record =new String();
    while((record = br.readLine())!=null){
          recCount++;
    f.append("Line"+recCount+":"+record+"\n");// I modified here  
    //f.setText("Line"+recCount+":"+record);}
    br.close();
     fr.close();}
    catch(IOException e){
       e.printStackTrace();}
     }
        }
    public static void main(String []args){
    Exam pd=new Exam();
    pd.pack();
        
          }
    }