⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remoterframe.java

📁 rmi C/S 客 户 端 与 服 务 端 连 接
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.topking.rt.ui;

import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Observable;
import java.util.Observer;
import java.util.Timer;
import java.util.TimerTask;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.UIManager;

import com.topking.rt.data.ConnectData;
import com.topking.rt.rmi.interfaces.RMIInterface;
import com.topking.rt.rmi.server.util.RMIServer;



/**
 *
 * @author  lzkj
 */
public class RemoterFrame extends javax.swing.JFrame implements ActionListener,Observer{

    /** Creates new form RT */
    public RemoterFrame() {
        initComponents();
        setTitle("Remote Controller V1.0");
        panel_image.setImage(defaultImage);        
        panel_image.updateUI();
        panel_image.repaint();
        
        Thread th = new Thread(new RMIServer());
		th.setDaemon(true);
		th.start();
		panel_image.setRmi(rmi);
		setFrameLocation();
    }

    public void setFrameLocation(){
    	Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    	int Width = (int) dim.getWidth();
    	int Height = (int) dim.getHeight();
    	int fWidth = this.getWidth();
    	int fHeight = this.getHeight();
    	
    	this.setLocation((Width-fWidth)/2, (Height-fHeight)/2);
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jToolBar1 = new javax.swing.JToolBar();
        bt_conn = new javax.swing.JButton(new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/rt/ui/images/conn.gif")));
        bt_disconn = new javax.swing.JButton(new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/rt/ui/images/disconn.gif")));
        bt_shot = new javax.swing.JButton(new ImageIcon(this.getClass().getClassLoader().getResource("com/topking/rt/ui/images/screen.gif")));
        jSeparator1 = new javax.swing.JSeparator();             
        jMenuBar1 = new javax.swing.JMenuBar();
        menu_file = new javax.swing.JMenu();
        item_conn = new javax.swing.JMenuItem();
        item_disconn = new javax.swing.JMenuItem();
        item_exit = new javax.swing.JMenuItem();
        menu_help = new javax.swing.JMenu();
        item_aa = new javax.swing.JMenuItem();
        item_at = new javax.swing.JMenuItem();

        
        int dy = jMenuBar1.getHeight()+jToolBar1.getHeight()+jSeparator1.getHeight();
        panel_image = new MyPanel(null);  
        
        scrollPane = new JScrollPane(panel_image,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jToolBar1.setRollover(true);

        bt_conn.setToolTipText("Connect");
        bt_conn.setFocusable(false);
        bt_conn.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_conn.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar1.add(bt_conn);

        bt_disconn.setToolTipText("DisConnect");
        bt_disconn.setFocusable(false);
        bt_disconn.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_disconn.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar1.add(bt_disconn);

        bt_shot.setToolTipText("ScreenShot");
        bt_shot.setFocusable(false);
        bt_shot.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_shot.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar1.add(bt_shot);

        item_conn.addActionListener(this);
        item_disconn.addActionListener(this);
        bt_conn.addActionListener(this);
        bt_disconn.addActionListener(this);
        bt_shot.addActionListener(this);
        item_aa.addActionListener(this);
        item_at.addActionListener(this);
        
        javax.swing.GroupLayout panel_imageLayout = new javax.swing.GroupLayout(panel_image);
        panel_image.setLayout(panel_imageLayout);
        panel_imageLayout.setHorizontalGroup(
            panel_imageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 816, Short.MAX_VALUE)
        );
        panel_imageLayout.setVerticalGroup(
            panel_imageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 472, Short.MAX_VALUE)
        );

        menu_file.setText("File");

        item_conn.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK));
        item_conn.setText("Connect");
        menu_file.add(item_conn);

        item_disconn.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.ALT_MASK));
        item_disconn.setText("DisConnect");
        menu_file.add(item_disconn);

        item_exit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));
        item_exit.setText("Exit");
        menu_file.add(item_exit);

        jMenuBar1.add(menu_file);

        menu_help.setText("Help");

        item_aa.setText("About Author");
        menu_help.add(item_aa);

        item_at.setText("About This");
        menu_help.add(item_at);

        jMenuBar1.add(menu_help);

        setJMenuBar(jMenuBar1);

       
        
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 816, Short.MAX_VALUE)
            .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 816, Short.MAX_VALUE)
            .addComponent(scrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(scrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

//        this.setExtendedState(javax.swing.JFrame.MAXIMIZED_BOTH);
//        packContainer();
        pack();
    }// </editor-fold>

    public void packContainer(){
    	Container c = this.getContentPane();
    	c.setLayout(new BorderLayout());
    	
    	JPanel pane1 = new JPanel();
    	pane1.setLayout(new BorderLayout());
    	pane1.add(jMenuBar1,BorderLayout.NORTH);
    	pane1.add(jSeparator1,BorderLayout.CENTER);
    	pane1.add(jToolBar1,BorderLayout.SOUTH);
    	
    	JScrollPane scrollPane = new JScrollPane(panel_image,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    	
    	c.add(pane1,BorderLayout.NORTH);
    	c.add(scrollPane,BorderLayout.CENTER);
    }
    
    public void actionPerformed(ActionEvent e){
    	if(e.getSource()==item_conn||e.getSource()==bt_conn){
    		getConnection();
    	}
    	
    	if(e.getSource()==item_disconn||e.getSource()==bt_disconn){
    		disConnection();
    	}
    	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -