呵呵,有意思。
如果我是楼主,也许我会这么想:所谓的散分检查,事实上就是在一大堆对象(接分的人)里面检查某个特定的对象(比如说我)有没有出现,简单的抽象出来就是一个set和一个boolean contain()的动作。
而应该将你的swing的试图实现和底层的数据结果做分离的。ps:
晚上人好少啊,自己UP!希望高手再给改改,丰富一下功能啊^_^
-----------------------------
我更喜欢简化功能,功能越单纯越好。

解决方案 »

  1.   

    哦,谢谢
    可是我看石兄的程序读数据源时有不方便,总不能让用户一个名字一个名字的输入再检查吧,要不写个可以从HTML中统计回贴人回贴数的程序,再把回贴数大于1的列出来.
    而且要求程序能统计拖到程序上的URL所指定的网页.
    嘿嘿,石兄给有兴趣和我一起做.(我当你的助手)
      

  2.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*;
    public class Test extends JFrame
    {
    String[] done = {"这里可以存原来散分贴接过分的人名"};
    Container con;
    JTextField jtf;
    JLabel jlb;
    JButton jb;
    String a;
    HashSet staff;
    String filename="done.properties";
    String tempString ;
    Properties pro=new Properties();
    public Test()
    {
    con = this.getContentPane();
    InputStream is=getClass().getResourceAsStream(filename);try{
    pro.load(is);
    is.close();
    }
    catch(Exception e){}
    tempString =pro.getProperty("done");
    if(tempString!=null){
    done=tempString.split(";");
    }
    staff = new HashSet(Arrays.asList(done));
    jtf = new JTextField(10);
    jtf.addActionListener(new CheckAction());jlb = new JLabel("",JLabel.CENTER);JButton jb = new JButton("Check");
    jb.addActionListener(new CheckAction());con.setLayout(new GridLayout(3,1,10,50));
    con.add(jtf);
    con.add(jlb);
    con.add(jb);setTitle("散分检验器");
    setBounds(300,300,300,200);
    show();
    }public static void main(String[] args)
    {
    Test test5 = new Test();
    test5.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }private class CheckAction implements ActionListener
    {
    public void actionPerformed(ActionEvent event)
    {
    a = jtf.getText().trim();
    if(staff.contains(a))
    {
    jlb.setText(a+"已给过分了");
    }
    else{
    staff.add(a);
    try{
    OutputStream out =  new FileOutputStream(filename);
    if(tempString==null){
     tempString=a ;
    }
    else{
      tempString=tempString+";"+a ;
    }
    pro.setProperty("done",tempString ); 
    pro.store(out,null);
    out.close();
    }
    catch(Exception e){}
    jlb.setText(a+"还没给过分");
    }
    jtf.setText("");
    }
    }
    }
      

  3.   

    哇!谢谢chinajava(chinajava)
    咱们的散分检查器已经有了进化版了 :)