Si queremos añadir un enlace web a una aplicación en java, podemos hacer uso de botones o etiquetas, incluso se puede añadir hipervinculos a todo tipo de contenedor, basta con hacer uso de Desktop y su método browse.
La siguiente clase se extiende de un JLabel para implementar un hipervinculo
import java.awt.Cursor; import java.awt.Desktop; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.net.URI; import java.net.URISyntaxException; import javax.swing.JLabel; /** * @web https://www.jc-mouse.net/ * @author Mouse */ public class URLabel extends JLabel implements MouseListener { private URI url; /** * Constructor de clase */ public URLabel(){ //enlace por default try { url = new URI("http://www.google.com.bo"); } catch (URISyntaxException ex) {} //propiedades de JLabel this.setText("URLabel"); this.setToolTipText( url.toString() ); this.setSize(34, 18); this.setVisible(true); this.setCursor(new Cursor(Cursor.HAND_CURSOR)); this.addMouseListener(this); } /** * Metodo para asignar una direccion web * @param url URL de pagina web */ public void setURL( String url ) { try { this.url = new URI(url); this.setToolTipText( url ); } catch (URISyntaxException ex) { System.err.println( ex.getMessage() ); } } /** * Retorna la direccion web que este asignado al objeto * @return String Direccion URL */ public String getURL() { return this.url.toString(); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Rectangle r; r = g.getClipBounds(); g.drawLine(0, r.height - getFontMetrics(getFont()).getDescent(), getFontMetrics(getFont()) .stringWidth(getText()), r.height - getFontMetrics(getFont()).getDescent()); } /** * Cuando se realice un clic sobre el componente JLabel, se abre el enlace en el navegador * predefinido del sistema operativo */ @Override public void mouseClicked(MouseEvent e) { Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; if ( desktop != null && desktop.isSupported(Desktop.Action.BROWSE) ) { try { desktop.browse( url ); } catch ( Exception ex ) { System.err.println( ex.getMessage() ); } } } @Override public void mousePressed(MouseEvent e) {} @Override public void mouseReleased(MouseEvent e) {} @Override public void mouseEntered(MouseEvent e) {} @Override public void mouseExited(MouseEvent e) {} }//--> fin clase
De esta manera, podemos utilizar el nuevo JLabel las veces que sea necesario
Implementando el JLabel con hipervinculo tenemos:
URLabel label = new URLabel(); label.setURL("https://www.jc-mouse.net"); label.setText("Visita mi Web"); label.setLocation(50, 100); this.add(label);
o.O
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo fácilmente...
En un tutorial anterior se creo un WebServices [Java WebServices] utilizando java y Netbeans, en esta ocasión se da cont...
Cuando se diseñan paginas web es recomendable hacer uso de standares como una de las buenas practicas de programación, p...
Reproducir archivos de audio en nuestras aplicaciones android. Necesitamos IDE Eclipse y SDK Android instalado Un archiv...
En este tuto realizaremos la implementación y ejecución de procedimientos almacenados de MySQL en Java, si quieres darle...
Problema: Implemente el código necesario en Kotlin para resolver una ecuación de segundo grado de números reales: Soluci...
Los comentarios estan cerrados
En este post crearemos un botón swing que reproducirá un sonido cuando este sea presionado por el usuario. Sin mas que...
Muchas veces necesitamos de fotos para adornar nuestros perfiles en RRSS pero no queremos subir nuestras propias fotos p...
En esta ocasión aprenderemos a conectaros con una base de datos Oracle desde Laravel. Es un tutorial sencillo y cortito,...
En este tutorial conoceremos una forma de conectar una aplicación en Laravel con tres bases de datos diferentes, 2 en My...
Esta Opcion es buenisima si quieres darle a un Usuario que maneja Pedidos On-line en un Alamacen, ya que solo podria verificar los productos, estan en su lista de manera mas rapida, y añadirle la opcion de envio de mensajes con la libreria Jmail; A por cierto aun e gustaria saber si puedo contar contigo para realizar algunos proyectos en paralelo.
claro que si campeón 🙂
Podrias hacer un tutorial de como llamar una ventana por convinacion de teclas? o en un solo boton? es decir precionar F1 o la tecla A y abrir una ventana, segun encontre un ejemplo pero lo siento no lo se todo, mira este es el codigo:
// setting the button to receive action when F3 is pressed
InputMap keyMap = new ComponentInputMap(button);
keyMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F3, 0), «action»);
ActionMap actionMap = new ActionMapUIResource();
actionMap.put(«action», new YourAction());
SwingUtilities.replaceUIActionMap(button, actionMap);
SwingUtilities.replaceUIInputMap(button, JComponent.WHEN_IN_FOCUSED_WINDOW, keyMap);
// setting done
no se como usar el inputmap, pero de ahi hasta donde se es el mas factible y facil para lograr lo que quiero hacer, saludos!!! este podria ser otro tutorial, ah y ya estoy terminando lo del Look And Feel ahi pasate un correo para cuando lotermine te lo mando.
no entendi donde poner esa programacion
gracias pana era justo lo que buscar mil gracia