解决方案 »

  1.   

    一个线程中
    while(flag){
    //output
    }
    点击按钮后设置flag=false;
      

  2.   

    public boolean l= true;
    int i = 1;this.addkeyListener(){
    new KeyAdapter(){
    pulic void keyPressed(KeyEvent e){
    if(e.getKeyCode()==VK_F1){
    l= true;
    }
     else if(e.getKeyCode()==VK_F2){
    l= false;
    }
    }
    }
    }
    while(l){

    System.out.println(i);
    i++;
    }
      

  3.   

    结束循环的按钮下面代码:
    System.exit(-1);
    退出系统不就OK了?
      

  4.   

    二楼的朋友,能帮忙看看应该插在哪里吗?谢谢!startfca.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    try
                    {
                        NetworkInterface[] devices=JpcapCaptor.getDeviceList();
                        JpcapCaptor pcatch=JpcapCaptor.openDevice(devices[1],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 if(ipfca.protocol==1) typefca="ICMP";
                                 else if(ipfca.protocol==2) typefca="IGMP";
                                 else if(ipfca.protocol==8) typefca="EGP";
                                 else if(ipfca.protocol==9) typefca="IGP";
                                 else if(ipfca.protocol==41) typefca="IPv6";
                                 else typefca="OSPF";
                                 pacnum++;
                                 model.addRow(new String[]{""+pacnum,"IPv"+ipfca.version,""+ipfca.src_ip,""+ipfca.dst_ip,typefca,""+ipfca.len});
                            }
                            if(pacnum%100==0&&pacnum!=0) break;
                        }
                        pcatch.close();
                    }
                    catch(IOException ex)
                    {
                        System.err.println(ex);
                    }
                }
            });
      

  5.   

    监听处理事件中,启动线程,执行死循环。不过循环中根据一个boolean变量如果它是true就退出死循环。而在主程序中如果按下那个按钮就让这个boolean变量变为true.