请问这个利用JPCAP抓包的按钮监听。程序已写完且抓包成功,但有两个小疑点

请教这个利用JPCAP抓包的按钮监听。程序已写完且抓包成功,但有两个小问题!
这里只列出按钮监听的代码吧。
startfca就是按钮的名字,按下它后开始抓包,每抓100个则停止。
抓包都OK,但有两个小问题:
1.这个程序有点诡异,点它的时候,有时候听话有时候不听话。大家请看,我不是有一行代码是输出通讯硬件的信息吗?每次它都能运行,但有的时候却不抓包。我得狂点按钮才能抓包。
2.我想把程序这么改一下:按下抓包后它就不停地抓包。知道按下“停止键”,请问这个怎么监听?能在按钮监听的代码里再套监听代码吗?


startfca.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                try
                {
                    NetworkInterface[] devices=JpcapCaptor.getDeviceList();
                    JpcapCaptor pcatch=JpcapCaptor.openDevice(devices[0],65535,true,20);
                    pcatch.setFilter("ip",true);
                    Packet pfca;
                    IPPacket ipfca;
                    String typefca;
                    for(int i=0;i<devices.length;i++)
                    {
                        System.out.println(i+": "+devices[i].name+"("+devices[i].description+")");
                        System.out.println("Datalink: "+devices[i].datalink_name+"("+devices[i].datalink_description+")");
                    }
                    while(true)
                    {
                        pfca=pcatch.getPacket();
                        if(pfca!=null)
                        {
                             ipfca=(IPPacket)pfca;
                             if(ipfca.protocol==6) typefca="TCP";
                             else if(ipfca.protocol==17) typefca="UDP";
                             else typefca="ELSE";
                             pacnum++;
                             model.addRow(new String[]{""+pacnum,"IPv"+ipfca.version,""+ipfca.src_ip,""+ipfca.dst_ip,typefca,""+ipfca.len});
                        }
                        if(pacnum%100==0) break;
                    }
                    pcatch.close();
                }
                catch(IOException ex)
                {
                    System.err.println(ex);
                }
            }
        });
------解决思路----------------------
这个没有研究过,看看下面几篇文章不知道有没有帮助。
http://www.4byte.cn/question/242894/inspect-outgoing-packets-and-delay-them-with-jpcap.html
http://www.4byte.cn/question/412767/get-list-of-unused-lan-ip-addresses.html
http://www.4byte.cn/question/557694/get-full-tcp-packet-data-using-jpcap.html