书上只是提了一下,哪位能详细讲解一下。
解决方案 »
- 如何使用jmf同时播放接收到的实时数据和将数据保存到本地?????????
- dispose();关闭窗体问题;
- 请问各位大哥大姐们:如何将运行程序时传入的参数(一个或多个)依次显示出来???????????
- 超级新手来提问,不知道是不是地方
- 新手JDK问题
- 刚出锅的大难题,不回答也来看看咯!!!!(关于ZIP压缩)
- 〓〓〓谁能给我一个关于JFileChooser和FileFilter的完整例子啊,没有用过,学习一下〓〓〓
- JLabel能够根据label的宽度自动换行吗?
- Sybase 的JDBC 问题,,,请大家帮忙
- 请问各位大虾,java编译时的路径问题,谢谢。
- 如何写程序实现监视本机所有与网络的通信连接?
- jButton的名字怎么实现换行?
public void aaa(){
B b = new B();
b.action(this);
}
public void bbb(){}
}
public class B{
public void action(A a){
a.bbb();
}
}
这就是回调。
/*查看文件目录*/
import java.io.*;public class test6{
public static void main(String[] args){
String[] list;
File path=new File(".");
try{
if(args.length==0)
list=path.list();
else
list=path.list(new dirfilter(args[0]));
for(int i=0;i<list.length;i++)
System.out.println(list[i]);
}
catch(Exception e){
e.printStackTrace();
}
}
}class dirfilter implements FilenameFilter{
String atn;
dirfilter(String atn){
this.atn=atn;
}
public boolean accept(File dir,String name){
String f=new File(name).getName();
return f.indexOf(atn)!=-1;
}
}书上讲解如下:之所以要创建dirfilter类,背后的全部原
因就是把accept()方法提供给list()方法,使list()能够“回调”accept() ,从而判断应将哪些文件名包
括到列表中。LIST()到底是怎样调用accept()方法的?
list=path.list(new dirfilter(args[0]));list()方法的参数如果是应该是FilenameFilter,这时候把dirfilter 作为参数传进去,就可以调用dirfilter 实现的accept方法
我改了一下这个程序:但是我还是不懂什么叫回调 那位大哥指导一下?
public class callback{
public callback() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} public static void main(String[] args){
String[] list;
File path=new File(".");
try{
if(args.length==0)
list=path.list();
else{
list=path.list(new dirfilter(args[0]));
System.out.println("args[0] is "+args[0]);
}
for(int i=0;i<list.length;i++)
System.out.println(list[i]);
}
catch(Exception e){
e.printStackTrace();
}
} private void jbInit() throws Exception {
}
}class dirfilter implements FilenameFilter{
String atn;
dirfilter(String atn){
this.atn=atn;
System.out.println("......dirfilter() is running");
}
public boolean accept(File dir,String name){
String f=new File(name).getName();
System.out.println("......accept() is running;f is "+f);
return f.indexOf(atn)!=-1; }
/*******************
书上讲解如下:之所以要创建dirfilter类,背后的全部原因就是把accept()方法提供给list()方法,使list()能够“回调”accept() ,
从而判断应将哪些文件名包括到列表中。
*/
}
运行情况:
......dirfilter() is running......accept() is running;f is bak......accept() is running;f is callback.jpx......accept() is running;f is callback.jpx.local......accept() is running;f is classes......accept() is running;f is doc......accept() is running;f is srcargs[0] is src1