呵呵,有意思。
如果我是楼主,也许我会这么想:所谓的散分检查,事实上就是在一大堆对象(接分的人)里面检查某个特定的对象(比如说我)有没有出现,简单的抽象出来就是一个set和一个boolean contain()的动作。
而应该将你的swing的试图实现和底层的数据结果做分离的。ps:
晚上人好少啊,自己UP!希望高手再给改改,丰富一下功能啊^_^
-----------------------------
我更喜欢简化功能,功能越单纯越好。
如果我是楼主,也许我会这么想:所谓的散分检查,事实上就是在一大堆对象(接分的人)里面检查某个特定的对象(比如说我)有没有出现,简单的抽象出来就是一个set和一个boolean contain()的动作。
而应该将你的swing的试图实现和底层的数据结果做分离的。ps:
晚上人好少啊,自己UP!希望高手再给改改,丰富一下功能啊^_^
-----------------------------
我更喜欢简化功能,功能越单纯越好。
可是我看石兄的程序读数据源时有不方便,总不能让用户一个名字一个名字的输入再检查吧,要不写个可以从HTML中统计回贴人回贴数的程序,再把回贴数大于1的列出来.
而且要求程序能统计拖到程序上的URL所指定的网页.
嘿嘿,石兄给有兴趣和我一起做.(我当你的助手)
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("");
}
}
}
咱们的散分检查器已经有了进化版了 :)