Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: LinkKenedy en 28 de Noviembre 2016, 04:42
-
Hola, tengo una duda, ¿cómo puedo usar un JComboBox para que me mande a una página web?
Por ejemplo si selecciono la pagina1 en el arreglo (array) del combobox, como puedo hacer que me mande a dicha pagina con un jbutton? Y si selecciono página 2, que me mande a otra?
Ojalá que se entienda lo que quiero decir!
Saludos!
-
Buenos días.
Una forma podría ser usando este método:
public void goToURL(String URL){
if (java.awt.Desktop.isDesktopSupported()) {
java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
if (desktop.isSupported(java.awt.Desktop.Action.BROWSE)) {
try {
java.net.URI uri = new java.net.URI(URL);
desktop.browse(uri);
} catch (URISyntaxException | IOException ex) {
// Logger.getLogger(Acerca.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
-
Lo publiqué antes de terminar.
Para que el método anterior funcionara tendrías que importar:
import java.io.IOException;
import java.net.*;
Luego simplemente sería invocar el método cuando saltara el evento del botón correspondiente .Por ejemplo:
if (e.getActionCommand().equals("Pagina 1")){goToURL("https://www.bbva.es/particulares/index.jsp");}
Un saludo.
-
Ya lo estuve probando bro, pero ahora me manda un mensaje en consola cuando pulso el boton y no abre la pagina web en cuestion.
java.io.IOException: Failed to mail or browse . Error code: -10814
-
Ese error puede ser porque no encuentre la clase.
Prueba el siguiente código e intenta guiarte por el:
import java.net.*;
import java.io.IOException;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class PanelPrincipal extends JFrame{
JPanel principal=new JPanel();
JPanel panel2=new JPanel();
JPanel arriba=new JPanel();
JButton rojo=new JButton("BBVA");
JButton azul=new JButton("BSCH");
public PanelPrincipal(){
super("Panel principal");
setSize(400,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel2.add(rojo);
panel2.add(azul);
BoxLayout horizontal=new BoxLayout(principal,BoxLayout.Y_AXIS);
principal.setLayout(horizontal);
principal.add(arriba);
principal.add(panel2);
add(principal);
setVisible(true);
rojo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
goToURL("https://www.bbva.es/particulares/index.jsp");
}
} );
azul.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
goToURL("https://www.bancosantander.es/es/particulares");
}
} );
}
public void goToURL(String URL){
if (java.awt.Desktop.isDesktopSupported()) {
java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
if (desktop.isSupported(java.awt.Desktop.Action.BROWSE)) {
try {
java.net.URI uri = new java.net.URI(URL);
desktop.browse(uri);
} catch (URISyntaxException | IOException ex) {
// Logger.getLogger(Acerca.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
public static void main(String[]args){
PanelPrincipal p=new PanelPrincipal();
}
}
Espero que te sirva.
-
Muchas gracias amigo, ya con esto problema resuelto!
Saludos!