一.效果
1.1 里面有三个java文件
BorderInit.java //抽出的一个方法定义容器
ReceiveImages.java //用于接收服务器端发送的信息
SendScreen.java //用于获取当前平台的页面,通过Socket发送
1.2启动顺序:SendScreen.java ------》ReceiveImages.java
(1)启动SendScreen.java
(2)启动ReceiveImages.java
(3)点击SendScreen.java生成的容器中的开始直播
二.demo代码
(1)BorderInit.java
package demo;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
//Client端窗口辅助类,专门用来显示从教师端收到的屏幕信息
class BorderInit extends JFrame{
private static final long serialVersionUID = 1L;
public JLabel jlbImg;
private boolean flag;
public boolean getFlag(){
return this.flag;
}
public BorderInit(){
this.flag=true;
this.jlbImg = new JLabel();
this.setTitle("远程监控IP:"+"127.0.0.1");
this.setSize(800, 600);
this.setAlwaysOnTop(false); // true显示窗口始终在最前面
this.add(jlbImg);
this.setLocationRelativeTo(null);//如果组件当前未显示或者 为 null,则此窗口将置于屏幕的中央。
this.setExtendedState(Frame.MAXIMIZED_BOTH);//Swing中设置窗口最大化
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//程序退出时关闭
this.setVisible(true);//显式
this.validate();
//窗口关闭事件
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
flag=false;
BorderInit.this.dispose();
System.out.println("窗体关闭");
System.gc();
}
});
}
}
(2)ReceiveImages.java
package demo;
import java.awt.Image;