Link web em um JFrame

17 respostas
J

Olá, tenhu um formulario feito em JFrame e preciso colocar uma label ou alguma outra coisa q ao ser clicado abra o meu navegador com uma determinada URL. Como fazer? me ajudem por favor!!!

17 Respostas

V

Assumindo que o texto da label contém a url:

suaLabel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { Desktop.getDesktop().browse(suaLabel.getText()); } });

J

Obrigado pela resposta, mas o codigo estah dando erro ilegal expression, deve tah falatando alguma coisa, ou estou colocando o codigo no lugar errado, tenhu q criar um metodo? ou insiro o codigo dentro da classe JFrame onde está a label?

V

Sim, põe no JFrame onde o label está. Pode ser na construção do label.

J

Num sei oq tah acontecendo, onde coloco esse codigo dah erro, fica pedindo ‘)’ e ‘;’
vlw!

V

Já corrigi ali em cima. Era um ) no lugar de uma }

J

num sei cara, continua dando errado. tah dando erro no actionListener tb!!!
vlw

C

Well … nunca tinha visto o método e quis testar aqui =P
ficou assim no final:

botao.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { Desktop.getDesktop().browse(new URI(suaLabel.getText())); } catch (Exception exception) { exception.printStackTrace(); } // try .. catch } // actionPerformed });

Lembrando que essa classe Desktop precisa do Java 6 para conseguir importar

V

É que não tenho Java no meu trabalho. ¬¬

J

pow, acho q tah qse, num aparece nenhum erro no codigo, mas qnd mando rodar, ele dah um erro: "Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
"

vlw

C

Well … o vini não tinha ferramenta para testar na hora que te passou mas eu tinha quando passei o exemplo hehe então é certeza que funciona
Se não está funcionando é algum erro seu e pra te ajudar com esse erro não basta falar “não deu” =P
Passe seu código para que alguém possa ajuda-lo.

J

hehe, o código eh imenso, acredito q ele pode estar em algum lugar errado, onde seria? estou colocando a parte onde inseri o codigo:

public FrmInserirOrcamento(FrmPrincipal p) {
        
        this.p = p;
         //conecta driver do banco de dados ao sistema
        try {

            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
           JOptionPane.showMessageDialog(null, "Falhou ao carregar driver do Banco de dados!");
        }
        
        //conecta sistema com o banco
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/","root","");
            stmt = con.createStatement();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"Falhou ao conectar BD!");
            ex.printStackTrace();
        }
        
        //carrega BD
        try {
            stmt.executeUpdate("USE " + "tcc");                                        
        } catch (SQLException ex) {
            Logger.getLogger(FrmPrincipal.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null,"Banco não carregado!");
        }
        
   jButton8.addActionListener(new ActionListener() {  
   @Override 
   public void actionPerformed(ActionEvent e) {  
   try {  
              Desktop.getDesktop().browse(new URI(jLabel13.getText()));  
           } catch (Exception exception) {  
               exception.printStackTrace();  
            } // try .. catch  
        } // actionPerformed  
   }); 
        
        initComponents();
        
        
    }
V

Ele não diz a linha que está dando o nullpointer?

J

Entaum, no codigo num aparece nenhum aviso de erro, qnd rodo dah o nullpointer, qnd clico no primeiro link do erro ele me leva para a linha 30 desse codigo q postei aki.!!!

V

Você criou a variável jButton8 ?

J

o JButton8 estah inserido no Jframe jah!!!

C

e o seu jLabel13, tem certeza que foi inicializado com new antes de você tentar usar ele no actionPerformed ?

J

vlw cara, funcionou!!!

soh mais uma coisa, q agora cada vez q eu clico no botao, ele abre uma aba a mais com meu link. ex.: na primeira vez q clico, abre uma aba, se eu fechar o navegador e clicar uma segunda vez no botao, ele abre o navegador com duas abas, e assim sucessivamente…rsrs

Obrigado!!!

Criado 26 de novembro de 2009
Ultima resposta 1 de dez. de 2009
Respostas 17
Participantes 3