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)); }
as-tu tenté un jlabel.revalidate() ?
Partager