String path = "E:\nature\";
File f = new File(path);
file = f.list();
DatagramRecvSender_s dgrs = new DatagramRecvSender_s("");
for(int j=0;j<1000;j++)
for (int i = 0; i < file.length; i++) {
try {
Thread.sleep(2000);
}
catch (InterruptedException ex) {
}
if (file[i].endsWith("jpg") || file[i].endsWith("bmp"))
dgrs.sendFile(path + file[i]);
}
}
}
下面看接收端的界面.
package recmail.multiservice;
import java.awt.BorderLayout;
public class testDual
extends DualWindow implements DataSwapListener {
JImagePanel ip;
java.awt.Image bi;
public testDual() {}
public void init() {
super.init();
ImageShow is = new ImageShow();
is.addDataSwapListener(this);
Thread thread = new Thread(is, "test");
thread.start();
}
public static void main(String[] args) {
testDual test = new testDual();
test.initmain();
test.go();
DatagramRecvSender_s dgrs = new DatagramRecvSender_s();
dgrs.addDataSwapListener(test);
Thread thread = new Thread(dgrs, "test");
thread.start();
}
public void initmain() {
super.initmain();
ip = new JImagePanel();
root.setLayout(new BorderLayout(5, 5));
root.add(ip, BorderLayout.CENTER);
}
public void OnDataSendFinished(Object s, DataSwapEvent e) {}
public void OnDataRecvFinished(Object s, DataSwapEvent e) {
this.bi = e.getImage();
ip.setImage(bi);
System.out.println("recv Finished!");
}
}
testDual扩展的DualWindow类清单:
package recmail.multiservice;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JApplet;
public class DualWindow
extends JApplet {
protected JPanel root;
private JFrame frame;
public DualWindow() {}
public void init() {
root = new JPanel();
this.setContentPane(root);
}
public void initmain() {
root = new JPanel();
}
public static void main(String[] args) {
testDual test = new testDual();
test.initmain();
test.start();
test.go();
}
public void go() {
frame = new JFrame();
frame.setContentPane(root);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.validate();
frame.setVisible(true);
}
}