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

📄 networkeddevicemonitorcontrol.java

📁 jxta官方例程
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                notifyDeviceErrorListeners ();                return null;            }                        if(readLength == -1) {                                contentLengthCounter=0;            }else{                            }                        imageByteArray.write (byteBuffer, 0, readLength);                        contentLengthCounter-=readLength;        }                return imageByteArray;    }            private void captureImage () {                        try {                        ByteArrayOutputStream imageByteArray = this.requestURLImage ();                        if(this.getTransmitState () == this.STARTED) {                                outgoingBuffer.addLast (imageByteArray);            }                        ((MonitorComponent)this.getMonitorComponent ()).newImage (new ByteArrayInputStream (imageByteArray.toByteArray ()));                        if(this.averageImageEncodeTime != 0 ) {                                this.averageImageEncodeTime =                        (this.averageImageEncodeTime + this.imageEncodeTime) / 2;            }                    }catch(Exception x) {            x.printStackTrace ();            setDeviceError ("Capture Image Error.");            notifyDeviceErrorListeners ();            return ;        }                        if(bufferStarvedLock.isLocked ()) {                        synchronized(bufferStarvedLock) {                                bufferStarvedLock.setLocked (false);                                bufferStarvedLock.notifyAll ();            }        }    }                public long getAverageImageEncodeTime () {                return this.averageImageEncodeTime;            }                public void obtainHardware () {                this.setMonitorComponent (new MonitorComponent ());                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("obtainHardware");        }    }        public void startMonitorCapture () {                this.setMonitorState (this.STARTED);                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("startMonitorCapture");        }            }        public void startMonitor () {                if(this.getMonitorState () == this.STOPPED) {            this.start ();        }                this.setMonitorState (this.STARTED);                                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("startMonitor");        }    }        public void stopMonitor () {                this.setMonitorState (this.STOPPED);                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("stopMonitor");        }    }        public void startTransmit () {                this.setTransmitState (this.STARTED);                                this.dispatchThread.start ();                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("startTransmit");        }            }        public  boolean isTransmit () {                return transmit;    }        public void setTransmit (boolean trans) {                transmit = trans;    }        public int getOutgoingBufferSize () {                return outgoingBuffer.size ();    }                public int getMessagesSent () {                return messagesSent;    }        public int getBytesSent () {                return bytesSent;    }            public void releaseHardware () {                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("releaseHardware");        }                this.stopMonitor ();                this.stopMonitorCapture ();                        if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("Release Hardware");        }    }        public void stopMonitorCapture () {                this.setMonitorState (this.STOPPED);                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("stopMonitorCapture");        }    }        public void stopTransmit () {                this.setTransmitState (this.STOPPED);                if (LOG.isEnabledFor (Level.INFO)) {            LOG.info ("stopTransmit");        }    }                            public int getBufferSize () {                return this.outgoingBuffer.size ();    }        public DialogMessage getNewTemplateMessage () {                return (DialogMessage)this.templateMessage.clone ();    }        public int getImagesPerMessage () {                return this.imagesPerMessage;    }        public void setImagesPerMessage (int imagesPerMessage) {                if(imagesPerMessage < this.MINIMUM_IMAGES_PER_MESSAGE) {                        this.imagesPerMessage = this.MINIMUM_IMAGES_PER_MESSAGE;        }else{                        this.imagesPerMessage = imagesPerMessage;        }    }        /**     *  Statistical Accessor. Returns the time delta of encoding an image     */    public long getImageEncodeTime () {                return this.imageEncodeTime;    }        public void setImageCompression (int imageCompression) {                if(imageCompression >= this.MINIMUM_IMAGE_COMPRESSION) {                        this.imageCompression = imageCompression;        }else {            this.imageCompression = this.MINIMUM_IMAGE_COMPRESSION;        }    }        public int getImageCompression () {                return imageCompression;    }            private int getMonitorState () {                return this.monitorState;    }        private void setMonitorState (int monitorState) {                this.monitorState = monitorState;    }        class MyLock extends Object {                private boolean locked = false;                public boolean isLocked () {            return locked;        }        public void setLocked (boolean locked) {            this.locked = locked;        }    }        public Component getMonitorComponent () {                return this.monitorComponent;    }        private void  setMonitorComponent (MonitorComponent monitorComponent) {                this.monitorComponent = monitorComponent;    }            class MonitorComponent extends JComponent {//Canvas {                Dimension size = null;                ImageReader reader = null;                Image image = null;                public MonitorComponent () {                        super ();                        Iterator readers = ImageIO.getImageReadersByFormatName ("jpeg");                        reader = (ImageReader)readers.next ();                                            }                public Dimension getPreferredSize () {                        return size == null ? new Dimension (0,0) : size;        }                private void setImageSize (Dimension size) {                        this.size = size;                        this.setSize (size);            if (LOG.isEnabledFor (Level.INFO)) {                LOG.info ("imageSize "+size);            }        }                        public void paintComponent (Graphics g) {                        Graphics2D g2 = (Graphics2D) g;                                    //super.paintComponent (g);                                    g2.drawImage (image,0,0,size.width,size.height,null);                        //g.drawImage (image,0,0,null);                                                g2.dispose();                    }                public void newImage (ByteArrayInputStream encodedImageStream) {            if (LOG.isEnabledFor (Level.INFO)) {                //LOG.info("newImage");            }                        try {                                long in = System.currentTimeMillis ();                                // this is just a impl of ImageInputStreamImpl.. we can subclass                // later and make our own                MemoryCacheImageInputStream imageStream = new MemoryCacheImageInputStream (encodedImageStream);                                reader.setInput (imageStream);                                BufferedImage bufferedImage = reader.read (0);                                if(size == null) {                                        setImageSize (new Dimension (bufferedImage.getWidth (),bufferedImage.getHeight ()));                }                                long out = System.currentTimeMillis ();                                imageEncodeTime = out - in;                                in = System.currentTimeMillis ();                                image = bufferedImage;                                //maybe imageUpdate???                repaint();                                                                // Copy image to buffered image.                /*                Graphics g = this.getGraphics ();                                                                                                g.drawImage (bufferedImage, 0, 0, null);                                g.dispose ();                */                out = System.currentTimeMillis ();                                                                                            }catch(Exception x) {                x.printStackTrace ();                setDeviceError ("Image Capture Error.");                notifyDeviceErrorListeners ();                return;            }        }    }    }

⌨️ 快捷键说明

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