Bonjour;
Je voudrais réaliser un lien dans une JFrame, sur lequel je puisse cliquer pour qu'il
me dirige vers une page web.
Merci pour votre aide
Bonjour;
Je voudrais réaliser un lien dans une JFrame, sur lequel je puisse cliquer pour qu'il
me dirige vers une page web.
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void mouseClicked(MouseEvent e) { if (e.getSource()==jtSiteWeb){ if(Desktop.isDesktopSupported()){ if(Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)){ URI uri; try { uri = new URI("http://"+sql.gp.version.SITEWEB); Desktop.getDesktop().browse(uri); } catch (URISyntaxException arg0) { arg0.printStackTrace(); } catch (IOException arg0) { arg0.printStackTrace(); } } } } }
Merci William, ca marche.
Ne saurai-tu pas par hasard, comment souligner ou colorer ce label AU PASSAGE de la souris dessus.
Autrement comment appelle-t-on cet evenement, celui du passage de la souris au dessus de ce label : MouseQUOI ??? (par analogie a MouseClicked etc).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 jtSiteWeb=new JTextDb();{ jtSiteWeb.setText(sql.gp.version.SITEWEB); jtSiteWeb.adapteTextLibe(); jtSiteWeb.setUnderline(true); jtSiteWeb.addMouseListener(this); }voir le MouseMotionListener pour gérer le survol par la souris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public void setUnderline(boolean enable){ Font font = getFont(); Map map = font.getAttributes(); if (enable) { map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); } else map.remove(TextAttribute.UNDERLINE); setFont(font.deriveFont(map)); }
Ce cas traite le survol d'un panel pour afficher une heure(Pas de rapport direct avec le soulignement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void mouseMoved(MouseEvent e) { if (isDemiFrame(e)){ int time; if (isVertical()){ time=getTimeFromPixel(e.getY()); } else { time=getTimeFromPixel(e.getX()); } if (timeMouse==null) timeMouse=new Time(); timeMouse.setPTime(new Point(getHeure(time),getMinut(time))); repaint(); } else { timeMouse=null; repaint(); } }
Salut !
Pour souligner (jLabel1.mouseEntered), ça marche,
hélas le remove (jLabel1.mouseExited), n'enlève rien, mon label reste souligné...
pourtant on passe bien dans la ligne "map.remove.... ".
(je suis dans Netbeans)
Que faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private void jLabel1MouseEntered(java.awt.event.MouseEvent evt) { setUnderline(true); } private void jLabel1MouseExited(java.awt.event.MouseEvent evt) { setUnderline(false); } public void setUnderline(boolean enable){ Font font = jLabel1.getFont(); Map map = font.getAttributes(); if (enable) { map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); } else { map.remove(TextAttribute.UNDERLINE); } jLabel1.setFont(font.deriveFont(map)); }
Salut !
Merci pour la réponse !
Hélas un revalidate n'a rien changé... le soulignement se fait mais pas le dé-soulignement.
Est-ce que ce bout de code marche mieux chez toi ?
désolé je n'ai pas testé le setUnderline(false); si vous avez la solution je suis preneur .
bon je vous présente mes excuses pour vous avoir fait perdre votre temps
Bad code:
Correctif :
Code : Sélectionner tout - Visualiser dans une fenêtre à part map.remove(TextAttribute.UNDERLINE);
J'ai testé, cela fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part map.put(TextAttribute.UNDERLINE,null);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager