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!!!
Assumindo que o texto da label contém a url:
suaLabel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Desktop.getDesktop().browse(suaLabel.getText());
}
});
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?
Sim, põe no JFrame onde o label está. Pode ser na construção do label.
Num sei oq tah acontecendo, onde coloco esse codigo dah erro, fica pedindo ‘)’ e ‘;’
vlw!
Já corrigi ali em cima. Era um ) no lugar de uma }
num sei cara, continua dando errado. tah dando erro no actionListener tb!!!
vlw
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
É que não tenho Java no meu trabalho. ¬¬
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
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.
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:
[code]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();
}[/code]
Ele não diz a linha que está dando o nullpointer?
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.!!!
Você criou a variável jButton8 ?
o JButton8 estah inserido no Jframe jah!!!
e o seu jLabel13, tem certeza que foi inicializado com new antes de você tentar usar ele no actionPerformed ?
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!!!