private void extract(){
        
        labStatus.setText("Extraindo...");
        tfResult.setText("");
        
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                
            String url = tfUrl.getText();
        
            if(!validateUrl()){
                return;
            }
        
            Extractor extractor = ExtractorFactory.create(url);
            try {
                List<AddressInfo> addressInfos = extractor.extract(url);
                String result = null;

                Object resultType = cbType.getSelectedItem();
                if(resultType.equals("HTML")){
                    result = new HtmlResultBuilder().getResult(addressInfos);
                }else if(resultType.equals("SQL")){
                    result = new SqlResultBuilder().getResult(addressInfos);
                }

                labStatus.setText("OK !");
                tfResult.setText("<html>"+result+"</html>");

            } catch (IOException ex) {
                JOptionPane.showMessageDialog(MainView.this, ex.getMessage(), "Erro Inesperado", JOptionPane.ERROR_MESSAGE);
            }
                
            }
            
            
        });
        
      
        
    }