📄 remoterframe.java
字号:
if(e.getSource()==bt_shot){
screenshot();
}
if(e.getSource()==item_aa){
new AboutAuthorFrame().setVisible(true);
}
if(e.getSource()==item_at){
new AboutThisFrame().setVisible(true);
}
}
public void getConnection(){
ConnectFrame cf = new ConnectFrame();
cf.addObserver(this);
}
public void disConnection(){
rmi = null;
isConnected = false;
bt_conn.setEnabled(true);
item_conn.setEnabled(true);
panel_image.setImage(defaultImage);
panel_image.repaint();
panel_image.setRmi(rmi);
timer.cancel();
}
public void screenshot(){
/*try {
byte[] bt = rmi.getImageData().getData();
if(bt!=null){
InputStream in = new ByteArrayInputStream(bt);
BufferedImage image = ImageIO.read(in);
new ScreenShotFrame(image).setVisible(true);
}
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}*/
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
try {
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(new Rectangle(0,0,(int)dim.getWidth(),(int)dim.getHeight()));
new ScreenShotFrame(image).setVisible(true);
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void update(Observable o, Object arg) {
// TODO Auto-generated method stub
if(o instanceof ConnectFrame){
System.err.println("Recived ConnectFrame's connArg......");
if(arg instanceof ConnectData){
this.connArg = (ConnectData) arg;
// System.out.println("arg : "+arg);
// System.out.println(connArg.getHost()+":"+connArg.getPort());
if(this.connArg!=null){
try {
rmi = (RMIInterface) Naming.lookup("//"+connArg.getHost()+":"+connArg.getPort()+"/REMOTECONTROLLER");
isConnected = true;
bt_conn.setEnabled(false);
item_conn.setEnabled(false);
panel_image.setRmi(rmi);
getinitImage();
controll();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Exception:"+e.getMessage(),"Connect Fail",JOptionPane.ERROR_MESSAGE);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Exception:"+e.getMessage(),"Connect Fail",JOptionPane.ERROR_MESSAGE);
} catch (NotBoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Exception:"+e.getMessage(),"Connect Fail",JOptionPane.ERROR_MESSAGE);
}
}
}
}
}
public void getinitImage(){
try {
byte[] bt = rmi.getinitImageData().getData();
oldImageByte = bt;
BufferedImage image = null;
// System.out.println("bt : "+bt.length);
if(bt!=null){
try {
InputStream in = new ByteArrayInputStream(bt);
image = ImageIO.read(in);
panel_image.setImage(image);
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
panel_image.repaint();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void controll(){
if(isConnected){
timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
try {
/*List changedData = rmi.getChangedImageData();
System.err.println("tranaction length :"+changedData.size());
byte[] bt = ByteDataUtil.getNewImageByte(oldImageByte,changedData);*/
byte[] bt = rmi.getinitImageData().getData();
BufferedImage image = null;
// System.out.println("bt : "+bt.length);
if(bt!=null){
try {
InputStream in = new ByteArrayInputStream(bt);
image = ImageIO.read(in);
panel_image.setImage(image);
oldImageByte = bt;
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
panel_image.repaint();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 10, 10);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*try {
javax.swing.UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
com.birosoft.liquid.LiquidLookAndFeel.setLiquidDecorations(true);
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new RemoterFrame().setVisible(true);
}
});
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new RemoterFrame().setVisible(true);
}
});
}
catch (Exception exception) {
exception.printStackTrace();
}
}
// Variables declaration - do not modify
private javax.swing.JButton bt_conn;
private javax.swing.JButton bt_disconn;
private javax.swing.JButton bt_shot;
private javax.swing.JMenuItem item_aa;
private javax.swing.JMenuItem item_at;
private javax.swing.JMenuItem item_conn;
private javax.swing.JMenuItem item_disconn;
private javax.swing.JMenuItem item_exit;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JToolBar jToolBar1;
private javax.swing.JMenu menu_file;
private javax.swing.JMenu menu_help;
private MyPanel panel_image;
private JScrollPane scrollPane = null;
private boolean isConnected = false;
private RMIInterface rmi = null;
private ConnectData connArg = null;
private Timer timer = null;
private Image defaultImage = this.getToolkit().createImage(this.getClass().getClassLoader().getResource("com/topking/rt/ui/images/bg5.jpg"));
private byte[] oldImageByte = null;
// End of variables declaration
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -