亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? panelparticipants.java

?? 里面是關于jmf編程的例子,希望能給初學者帶來一些幫助
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * @(#)PanelParticipants.java	1.3 00/03/20 * * Copyright (c) 1999 Sun Microsystems, Inc. All Rights Reserved. * * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use, * modify and redistribute this software in source and binary code form, * provided that i) this copyright notice and license appear on all copies of * the software; and ii) Licensee does not utilize the software in a manner * which is disparaging to Sun. * * This software is provided "AS IS," without a warranty of any kind. ALL * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * * This software is not designed or intended for use in on-line control of * aircraft, air traffic, aircraft navigation or aircraft communications; or in * the design, construction, operation or maintenance of any nuclear * facility. Licensee represents and warrants that it will not use or * redistribute the Software for such purposes. */package jmapps.rtp;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.media.rtp.*;import javax.media.rtp.rtcp.*;import javax.media.rtp.event.*;import com.sun.media.util.JMFI18N;import com.sun.media.rtp.util.Signed;import jmapps.ui.*;public class PanelParticipants extends JMPanel implements ComponentListener,                                        ActionListener, SessionListener,                                        ReceiveStreamListener, RemoteListener {    private SessionManager  mngrSession;    private TreeControl     controlTree = null;    private JMPanel         panelView = null;    private CardLayout      layoutView = null;    private JMPanel         panelCurrentView = null;    private static final int    MARGINH = 6;    public static final String  PARTICIPANTS            = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants" );    public static final String  REMOTE_RECEIVE_STREAM   = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.remotereceivestream" );    public static final String  UNKNOWN_STREAM          = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.unknownstream" );    public static final String  REPORT                  = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.report" );    public static final String  LATEST_SENDER_REPORT    = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.latestsenderreport" );    public static final String  REPORT_BLOCK            = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.reportblock" );    public static final String  REPORT_BLOCK_BY_ME      = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.reportblockbyme" );    public static final String  SENDER_REPORT_BLOCK     = JMFI18N.getResource ( "jmstudio.rtpsessionctrl.partcipants.senderreportblock" );    public PanelParticipants ( SessionManager mngrSession ) {	    super ();        this.mngrSession = mngrSession;        try {            init();        }        catch (Exception e) {            e.printStackTrace();        }    }    private void init () throws Exception {        TreeNode    nodeRoot;        TreeNode    node;        JMPanel     panel;        this.addComponentListener ( this );        this.setLayout ( null );        controlTree = new TreeControl ();        this.add ( controlTree );        layoutView = new CardLayout ();        panelView = new JMPanel ( layoutView );        panelView.setEtchedBorder ();        this.add ( panelView );        nodeRoot = controlTree.createRootElement ( PARTICIPANTS );        panel = new ViewParticipantList ( mngrSession );        nodeRoot.setUserData ( panel );        fillParticipantsNode ( nodeRoot );        controlTree.setCurrentElement ( nodeRoot );        nodeRoot.addActionListener ( this );        this.setViewPanel ( nodeRoot );        mngrSession.addSessionListener ( this );        mngrSession.addReceiveStreamListener ( this );        mngrSession.addRemoteListener ( this );    }    public Dimension getPreferredSize () {        Dimension   dim;        dim = new Dimension ( 480, 360 );        return ( dim );    }    public void actionPerformed ( ActionEvent event ) {        Object      objSource;        String      strAction;        objSource = event.getSource ();        if ( objSource == null  ||  !(objSource instanceof TreeNode) )            return;        strAction = event.getActionCommand ();        if ( strAction.equals(TreeNode.ACTION_NODE_ADDED) ) {        }        else if ( strAction.equals(TreeNode.ACTION_NODE_REMOVED) ) {            removeViewPanel ( (TreeNode)objSource );        }        else if ( strAction.equals(TreeNode.ACTION_NODE_EXPANDED) ) {        }        else if ( strAction.equals(TreeNode.ACTION_NODE_COLLAPSED) ) {        }        else if ( strAction.equals(TreeNode.ACTION_NODE_SETCURRENT) ) {            setViewPanel ( (TreeNode)objSource );        }        else if ( strAction.equals(TreeNode.ACTION_NODE_RESETCURRENT) ) {        }    }    public void update ( SessionEvent event ) {        Participant     participant;        if ( event instanceof NewParticipantEvent ) {            participant = ((NewParticipantEvent)event).getParticipant();            addParticipant ( participant );        }    }    public void update ( RemoteEvent event ) {        Participant     participant;        ReceiverReport  reportReceiver;        SenderReport    reportSender;        TreeNode        node;        Object          objPanel;        if ( event instanceof ReceiverReportEvent ){            participant = ((ReceiverReportEvent)event).getReport().getParticipant();            if ( participant != null  &&  participant.getStreams().size() == 0 ) {                node = findParticipantListNode ();                if ( node != null ) {                    objPanel = node.getUserData ();                    if ( objPanel != null  &&  objPanel instanceof ViewParticipantList )                        ((ViewParticipantList)objPanel).updateFields ();                    reportReceiver = ((ReceiverReportEvent)event).getReport();                    addReport ( participant, reportReceiver );                }            }        }        if ( event instanceof SenderReportEvent ) {            participant = ((SenderReportEvent)event).getReport().getParticipant();            if ( participant != null  &&  participant.getStreams().size() > 0 ) {                node = findParticipantListNode ();                if ( node != null ) {                    objPanel = node.getUserData ();                    if ( objPanel != null  &&  objPanel instanceof ViewParticipantList )                        ((ViewParticipantList)objPanel).updateFields ();                    reportSender = ((SenderReportEvent)event).getReport();                    addReport ( participant, reportSender );                }            }        }    }    public void update ( ReceiveStreamEvent event){        Participant     participant;        ReceiveStream   stream;        TreeNode        node;        Object          objPanel;        // if this is a timeOut or ByeEvent, we need to remove the        // participants from the list of participants        if ( event instanceof TimeoutEvent  ||  event instanceof ByeEvent ) {            participant = null;            stream = null;            if ( event instanceof TimeoutEvent  &&  ((TimeoutEvent)event).participantLeaving() ) {                participant = ((TimeoutEvent)event).getParticipant();            }            if ( event instanceof ByeEvent  &&  ((ByeEvent)event).participantLeaving() ) {                participant = ((ByeEvent)event).getParticipant();            }            else if ( event instanceof TimeoutEvent ) {                stream = ((TimeoutEvent)event).getReceiveStream();            }            else if ( event instanceof ByeEvent ) {                stream = ((ByeEvent)event).getReceiveStream();            }            if ( participant != null ) {                removeParticipant ( participant );            }            if ( stream != null ) {                removeRtpStream ( stream );            }        }        // if this is a NewReceiveStreamEvent, from an already existant        // PASSVE paritcipant, we will need to remove the        // Participant from the Passive list and add it to the        // active list        if ( event instanceof NewReceiveStreamEvent ) {            stream = ((NewReceiveStreamEvent)event).getReceiveStream();            participant = stream.getParticipant ();            if ( participant == null )                return;            node = findParticipantNode ( participant );            if ( node == null )                addParticipant ( participant );            addRtpStream ( participant, stream );            node = this.findParticipantListNode ();            objPanel = node.getUserData();            if ( objPanel != null  &&  (objPanel instanceof ViewParticipantList) )                ((ViewParticipantList)objPanel).updateFields ();        }        if ( event instanceof InactiveReceiveStreamEvent ) {            // don't know what to do here        }        if ( event instanceof ActiveReceiveStreamEvent ) {        }    }    public void componentResized ( ComponentEvent event ) {        layoutComponents ();    }    public void componentMoved ( ComponentEvent event ) {    }    public void componentShown ( ComponentEvent event ) {    }    public void componentHidden ( ComponentEvent event ) {    }    private void fillParticipantsNode ( TreeNode nodeParent ) {        int         i;        int         nCount;        Vector      vectorParticipants;        Vector      vector;        Object      objParticipant;        String      strName;        TreeNode    node;        JMPanel     panel;        // get all participants into one vector        vectorParticipants = mngrSession.getRemoteParticipants ();        objParticipant = mngrSession.getLocalParticipant ();        if ( !vectorParticipants.contains(objParticipant) )            vectorParticipants.addElement ( objParticipant );        vector = mngrSession.getActiveParticipants ();        nCount = vector.size ();        for ( i = 0;  i < nCount;  i++ ) {            objParticipant = vector.elementAt ( i );            if ( vectorParticipants.contains(objParticipant) )                continue;            vectorParticipants.addElement ( objParticipant );        }        vector = mngrSession.getPassiveParticipants ();        nCount = vector.size ();        for ( i = 0;  i < nCount;  i++ ) {            objParticipant = vector.elementAt ( i );            if ( vectorParticipants.contains(objParticipant) )                continue;            vectorParticipants.addElement ( objParticipant );        }        // now fill the tree with participants from collected vector        nCount = vectorParticipants.size ();        for ( i = 0;  i < nCount;  i++ ) {            objParticipant = vectorParticipants.elementAt ( i );            if ( objParticipant == null  ||  !(objParticipant instanceof Participant) )                continue;            strName = ((Participant)objParticipant).getCNAME ();            node = controlTree.createSubElement ( nodeParent, strName );            panel = new ViewParticipantInfo ( mngrSession, (Participant)objParticipant );            node.setUserData ( panel );            fillParticipantInfoNode ( node, (Participant)objParticipant );            node.addActionListener ( this );        }    }    private void fillParticipantInfoNode ( TreeNode nodeParent, Participant participant ) {        int             i;        int             nCount;        TreeNode        node;        Vector          vectorStreams;        Object          objStream;        Vector          vectorReports;        Object          objReport;        String          strName;        long            lSSRC;        JMPanel         panel;        Object          objPanel;        if ( participant == null )            return;        vectorStreams = participant.getStreams ();        nCount = vectorStreams.size ();        for ( i = 0;  i < nCount;  i++ ) {            objStream = vectorStreams.elementAt ( i );            if ( objStream == null  ||  !(objStream instanceof RTPStream) )                continue;            addRtpStream ( nodeParent, (RTPStream)objStream );        }        vectorReports = participant.getReports ();        nCount = vectorReports.size ();        for ( i = 0;  i < nCount;  i++ ) {            objReport = vectorReports.elementAt ( i );            if ( objReport == null  ||  !(objReport instanceof Report) )                continue;            addReport ( nodeParent, (Report)objReport );        }    }    private void fillStreamInfoNode ( TreeNode nodeParent, RTPStream streamRtp ) {        SenderReport    reportSender;        TreeNode        node;        String          strName;        JMPanel         panel;        if ( streamRtp == null )            return;        reportSender = streamRtp.getSenderReport();        if ( reportSender != null ) {            strName = createStreamLatestReportNodeName ();            node = controlTree.createSubElement ( nodeParent, strName );            panel = new ViewSenderReport ( mngrSession, reportSender );            node.setUserData ( panel );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
voyeur盗摄精品| 欧美岛国在线观看| 成人网男人的天堂| 国产高清精品久久久久| 麻豆高清免费国产一区| 丝袜脚交一区二区| 一区二区三区日韩| 亚洲免费成人av| 成人欧美一区二区三区视频网页| 93久久精品日日躁夜夜躁欧美| 国产精品综合网| 国产麻豆精品视频| 国产精品一区二区不卡| 国产老妇另类xxxxx| 国产一区不卡精品| 国产成人免费视频 | a美女胸又www黄视频久久| 国产精品99久久久久久宅男| 国产高清精品久久久久| 成人高清视频在线| 色综合夜色一区| 欧美性生活一区| 欧美一区二区三区视频在线观看| 欧美精品高清视频| 精品国产一区二区亚洲人成毛片| 精品国产免费视频| 久久久久久久网| 国产精品毛片久久久久久| 亚洲图片你懂的| 亚洲国产视频一区| 蜜乳av一区二区三区| 国产福利一区在线| 91原创在线视频| 欧美日韩电影在线| 精品国产百合女同互慰| 国产亚洲人成网站| 久久精品999| 国产成人高清视频| 91视频你懂的| 欧美丰满少妇xxxbbb| 日韩精品一区二区三区在线播放| 国产午夜精品一区二区三区四区| 国产精品高清亚洲| 亚洲电影你懂得| 激情图区综合网| 99精品视频在线免费观看| 欧日韩精品视频| 精品久久久久久久久久久久久久久久久 | 国产一区美女在线| 99精品久久99久久久久| 欧美精品18+| 日本一区二区视频在线| 一区二区三区 在线观看视频| 日韩高清在线一区| 成人国产免费视频| 7777精品伊人久久久大香线蕉超级流畅 | 91精品欧美福利在线观看| 久久影音资源网| 夜夜亚洲天天久久| 久久66热偷产精品| 97精品久久久久中文字幕| 欧美午夜精品久久久久久孕妇| 欧美精品一区二区在线播放| 一区二区在线观看不卡| 国产真实乱对白精彩久久| 色综合视频在线观看| 欧美不卡激情三级在线观看| 一区二区三区四区在线免费观看| 激情五月播播久久久精品| 在线视频国产一区| 老司机精品视频线观看86| 国产精品一区二区三区99| 欧美午夜视频网站| 国产精品乱码人人做人人爱| 久久国产生活片100| 色婷婷激情一区二区三区| 欧美精品一区二区三区四区 | 欧美无乱码久久久免费午夜一区| 亚洲精品一区二区三区香蕉| 亚洲韩国精品一区| 成人精品小蝌蚪| 精品裸体舞一区二区三区| 亚洲精品国产第一综合99久久| 狠狠色丁香九九婷婷综合五月| 在线精品视频一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 免费亚洲电影在线| 欧美午夜精品理论片a级按摩| 国产精品入口麻豆九色| 精品一区二区三区在线视频| 欧美伦理电影网| 一区二区三区免费看视频| 成人黄色小视频在线观看| 久久蜜桃av一区精品变态类天堂| 日韩专区中文字幕一区二区| 欧美午夜一区二区三区| 亚洲精品伦理在线| 99国产一区二区三精品乱码| 欧美国产一区二区| 国产中文一区二区三区| 欧美成人精精品一区二区频| 日本成人中文字幕| 7777精品伊人久久久大香线蕉最新版| 亚洲在线视频一区| 欧美自拍偷拍午夜视频| 亚洲男人天堂av网| 91浏览器入口在线观看| 国产精品另类一区| 成人久久18免费网站麻豆| 欧美国产一区二区在线观看| 国产99久久久国产精品免费看| 欧美精品一区二区精品网| 黄一区二区三区| 久久精品网站免费观看| 国产精品一二二区| 国产性色一区二区| 成人蜜臀av电影| 中文字幕在线观看不卡| www.色综合.com| 亚洲乱码中文字幕| 色综合天天综合| 风间由美一区二区三区在线观看 | 成人午夜免费av| 国产精品丝袜91| 91麻豆精东视频| 一个色综合av| 宅男在线国产精品| 久久99国内精品| 国产欧美日韩麻豆91| av午夜一区麻豆| 亚洲一区二区三区视频在线| 欧美精三区欧美精三区| 奇米影视在线99精品| 亚洲精品一线二线三线| 成人性生交大片免费看中文| 亚洲欧美日韩系列| 精品视频1区2区3区| 老司机精品视频导航| 欧美国产激情二区三区| 91尤物视频在线观看| 亚洲成人www| 精品毛片乱码1区2区3区| 福利视频网站一区二区三区| 一区二区在线观看视频| 91精品国产黑色紧身裤美女| 国产一区91精品张津瑜| 中文字幕亚洲不卡| 欧美精品日韩一区| 国产乱人伦偷精品视频不卡| 亚洲色图欧洲色图| 欧美一个色资源| www.亚洲精品| 免费在线观看一区| 中文字幕一区二区不卡| 制服丝袜中文字幕亚洲| 日韩视频中午一区| 成人福利电影精品一区二区在线观看| 亚洲精品久久嫩草网站秘色| 日韩三级.com| 色婷婷久久久久swag精品 | 日韩国产精品久久久久久亚洲| 精品国产伦理网| 色综合久久久久久久| 免费精品99久久国产综合精品| 国产目拍亚洲精品99久久精品| 欧美在线三级电影| 国产一区二区在线看| 一区二区国产视频| 久久嫩草精品久久久精品| 色综合天天综合网国产成人综合天 | 久久综合一区二区| 日本福利一区二区| 国产麻豆精品在线观看| 亚洲一区二区三区视频在线 | 日本欧美一区二区在线观看| 亚洲国产高清不卡| 日韩欧美色综合| 91九色最新地址| 国产大陆亚洲精品国产| 天天影视涩香欲综合网| 中文字幕亚洲一区二区av在线 | 丝袜美腿亚洲综合| 亚洲免费资源在线播放| 国产亚洲欧美激情| 欧美一区二区日韩| 欧美色图片你懂的| 91香蕉视频污| 国产高清不卡一区| 精品一区二区在线播放| 视频一区视频二区在线观看| 亚洲日穴在线视频| 国产精品乱码一区二区三区软件 | 国产精品区一区二区三区| 日韩一级欧美一级| 欧美日韩一卡二卡| 91黄视频在线观看| 91亚洲精品久久久蜜桃| 国产传媒一区在线| 精品一区二区免费看| 蜜桃一区二区三区在线观看|