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

Título: Java cómo puedo usar JComboBox para que me mande (direccionar) a una página web
Publicado 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!
Título: Re:JComboBox y PaginaWeb
Publicado por: ESOJ en 28 de Noviembre 2016, 12:09
Buenos días.

Una forma podría ser usando este método:
Código: [Seleccionar]
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);
                }
            }
        }
    }
Título: Re:JComboBox y PaginaWeb
Publicado por: ESOJ en 28 de Noviembre 2016, 12:16
Lo publiqué antes de terminar.

Para que el método anterior funcionara tendrías que importar:

Código: [Seleccionar]
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:
Código: [Seleccionar]
if (e.getActionCommand().equals("Pagina 1")){goToURL("https://www.bbva.es/particulares/index.jsp");}
Un saludo.
Título: Re:JComboBox y PaginaWeb
Publicado por: LinkKenedy en 28 de Noviembre 2016, 17:24
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.

Código: [Seleccionar]
java.io.IOException: Failed to mail or browse . Error code: -10814
Título: Re:JComboBox y PaginaWeb
Publicado por: ESOJ en 28 de Noviembre 2016, 18:24
Ese error puede ser porque no encuentre la clase.

Prueba el siguiente código e intenta guiarte por el:
Código: [Seleccionar]
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.
Título: Re:Java cómo puedo usar un JComboBox para que me mande a una página web
Publicado por: LinkKenedy en 09 de Diciembre 2016, 17:20
Muchas gracias amigo, ya con esto problema resuelto!

Saludos!