Traduire '<a href="mailto:nom@truc.fr"></ a>' en Java

Traduire '<a href="mailto:nom@truc.fr"></ a>' en Java - Java - Programmation

Marsh Posté le 07-07-2004 à 11:23:32    

Salut,  
 
En fait, je souhaite mettre un lien hypertexte sur un JLabel, pour envoyer automatiquement un mail à qqn, avec l'adresse prédéfinie, par l'intermédiaire d'une messagerie.
Comme je le dis ds le sujet, cela revient à traduire  
'<a href="mailto:nom@truc.fr"></a>' en Java.
Sauf qu'en HTML je sais faire, pas en Java...
 
Donc si qqn sais comment je dois faire...

Reply

Marsh Posté le 07-07-2004 à 11:23:32   

Reply

Marsh Posté le 07-07-2004 à 11:58:17    

nom de diou... ça n'a rien à voir html et java !!!
 
edit : d'ailleurs faudrait faire un petit topic unique expliquant les mécanismes client / serveur, les confusions à éviter etc..., ça éviterait les questions nombreuses à ce sujet !


Message édité par titione le 07-07-2004 à 12:01:21
Reply

Marsh Posté le 07-07-2004 à 12:01:11    

Merci, je suis pas idiot !
 
C'est pour expliquer ce que je cherche à faire en java !

Reply

Marsh Posté le 07-07-2004 à 12:04:32    

Citation :

Sauf qu'en HTML je sais faire, pas en Java...

:sarcastic:  
 
globalement si tu sais définir un lien de manière normal avec un JLabel ben c'est pareil sauf que tu mets un mailto... après techniquement je sais pas : je pourrais te le faire en php, .net sous toutes ses formes mais java je sais pas trop...

Reply

Marsh Posté le 07-07-2004 à 14:57:26    

lau76 a écrit :

Salut,  
 
En fait, je souhaite mettre un lien hypertexte sur un JLabel, pour envoyer automatiquement un mail à qqn, avec l'adresse prédéfinie, par l'intermédiaire d'une messagerie.
Comme je le dis ds le sujet, cela revient à traduire  
'<a href="mailto:nom@truc.fr"></a>' en Java.
Sauf qu'en HTML je sais faire, pas en Java...
 
Donc si qqn sais comment je dois faire...


 
JavaMail est ton ami  :jap:

Reply

Marsh Posté le 08-07-2004 à 15:43:45    

Humm tu sembles vouloir te compliquer la vie..
Enfin si tu veux avoir tu html dans du java utilise le JEditoPane  :)

Reply

Marsh Posté le 08-07-2004 à 15:45:37    

pascal34 a écrit :

JavaMail est ton ami  :jap:


 
euh je crois que t'as pas compris son problème... Il veut un lien qui invoke la messagerie par défaut (comme le fait un mailto dans un browser). C'est pas envoyer le mail proprement dit son problème ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-07-2004 à 15:56:10    

et puis je pense que c'est du javascript qu'il veut le monsieur, pas du java ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-07-2004 à 15:59:50    

benou a écrit :

et puis je pense que c'est du javascript qu'il veut le monsieur, pas du java ...


 
mais arrêtez [:sisicaivrai]
 
il veut mettre un lien hypertexte sur un JLabel ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-07-2004 à 16:00:56    

si il veut un lien hypetexte il utilise un JEditorPane !!!!!!!


Message édité par G0ose le 08-07-2004 à 16:01:49
Reply

Marsh Posté le 08-07-2004 à 16:00:56   

Reply

Marsh Posté le 08-07-2004 à 16:06:17    

DarkLord a écrit :

mais arrêtez [:sisicaivrai]
 
il veut mettre un lien hypertexte sur un JLabel ...


merde, j'ai encore lu trop vite ...  [:benou]  
[:neowen]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-07-2004 à 16:12:45    

Faut faire l'équivalent d'un ShellExecute(0, 'mailto:....', etc.) mais en Java quoi :o je ne connais pas Java donc je ne peux pas en dire plus :D

Reply

Marsh Posté le 08-07-2004 à 16:28:58    

bin on peut pas. Y a pas de notion de "client mail par défaut" en Java vu que c'est complètement OS indépendant.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-07-2004 à 22:12:28    

quel bordel ici :D
 
c'est pourtant simple:
les composants swing accepte du html  
par exemple
 
new JLabel( "<html><body><b>hello</b> world</body></html>" );
 
marche.
bon ok, ca n'a rien a voir mais c'est pour ta culture [:mmmfff]
 
mais dans ton cas, tu fais un mouseListener sur ton JLabel , qd ca click tu fais un truc du style:

Citation :

   public static String DEFAULT_CMD_LINE = System.getProperty("os.name" ).startsWith("Windows" ) ? "explorer " : "mozilla";


 
...
 

Code :
  1. public static void showURL(String url) {
  2.         try {
  3.             String[] cmd = new String[2];
  4.             cmd[0] = DEFAULT_CMD_LINE;
  5.             cmd[1] = "" + url + "";
  6.             Runtime.getRuntime().exec(cmd);
  7.         } catch (Exception e) {
  8. //oh oh
  9.         }
  10.     }


 
 

Code :
  1. label.addMouseListener(this);//MouseListener
  2. public void mouseClicked(MouseEvent e) {
  3.         showURL(url);
  4.     }


Message édité par veryfree le 08-07-2004 à 22:15:34
Reply

Marsh Posté le 08-07-2004 à 22:15:24    

oh un joli copié collé [:dawa]
 
(non je ne boute pas sur mon linux pour faire le rpm [:mmmfff] )


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-07-2004 à 22:19:14    

DarkLord a écrit :

oh un joli copié collé [:dawa]
 
(non je ne boute pas sur mon linux pour faire le rpm [:mmmfff] )


 
y a un peu de mise en forme qd meme  [:ddr555]  
 
 
sinon pour linux spa grave, dit moi ce qu'il y a a faire au juste, on va bien trouvé une ame charitable sur OSA [:mmmfff]  
 
 
ca va pas etre facile [:meganne]
 
 

Reply

Marsh Posté le 08-07-2004 à 22:19:56    

j'ai la flemme :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-07-2004 à 22:42:12    

j'avait compris :o  

Reply

Marsh Posté le 22-07-2004 à 06:44:35    

veryfree a écrit :

quel bordel ici :D
 
c'est pourtant simple:
les composants swing accepte du html  
par exemple
 
new JLabel( "<html><body><b>hello</b> world</body></html>" );
 
marche.
bon ok, ca n'a rien a voir mais c'est pour ta culture [:mmmfff]
 
[/cpp]


 
 
Et c'est possible de mettre un lien avec des balises?
 
je connais pas l'html, comment on fait? <html><balise_magique>forum.hardware.fr</balise_magique></html>
 
Ou est-on obliger de faire ca "a la main" avec un MouseListener?...
 
d'ailleurs ca vient d'ou ca : "DEFAULT_CMD_LINE"...
 
Merci

Reply

Marsh Posté le 22-07-2004 à 23:08:42    

et si t'essayais  pour voir [:dawa]

Reply

Marsh Posté le 22-07-2004 à 23:27:12    

J'avais essayé de faire ce truc la une fois, le lien est souligné en bleu, et une petite mimine apparait lorsque l'on pointe dessus mais rien ne se passe en cliquant. C'est ca qui est bizarre, pourquoi Java interprete le lien si il n'est pas capable de l'utiliser?


---------------
J.C. Farinet
Reply

Marsh Posté le 22-07-2004 à 23:32:29    

peut etre parce qu'il peux pas deviner le client mail par defaut.Mais il y a surement moyen de surcharger la methode appelé lorsqu'on click avec la souris


Message édité par veryfree le 22-07-2004 à 23:33:10
Reply

Marsh Posté le 23-07-2004 à 08:20:32    

Je ne sais pas ou se situe la méthode d'intéprétation du String dans un JLabel, mais ca doit etre assez lourd a mettre en place pour la surcharger (et appeler le client mail par défaut en gardant l'aspect multi platforme, je suis pas sur que ce soit possible en Java).
De plus, pour ton bout de code, je ne suis pas sur que mozilla soit dans le PATH une fois installé, à vérifier.


---------------
J.C. Farinet
Reply

Marsh Posté le 23-07-2004 à 09:02:54    

yo c spi a écrit :

J'avais essayé de faire ce truc la une fois, le lien est souligné en bleu, et une petite mimine apparait lorsque l'on pointe dessus mais rien ne se passe en cliquant. C'est ca qui est bizarre, pourquoi Java interprete le lien si il n'est pas capable de l'utiliser?


 
Comment t'as fait pour avoir le lien souligné et la main? pour que le lien fonctionne tant pis, je vais utiliser un listener.

Reply

Marsh Posté le 24-07-2004 à 09:25:58    

Je veins de regarder, je n'ai pas la main, mais j'ai bien le lien souligné.
J'ai enlevé ce bout de code par la suite, car ca ne servait à rien vu que le lien était inutilisable.
http://perdu.com
 
Quelqu'un à déjà essyé sous linux, savoir si l'effet est le meme.
 
edit : j'ai oublié le code :

Code :
  1. ImageIcon spi = ImageUtilities.createImageIcon(SimpsonsManagerMain.class, "Images/spirou.jpg" );
  2. JLabel msg = new JLabel("<html>SimpsonsManager<br>By Spi (<a href=\"mailto:toto@hotmail.com\">toto@hotmail.com</a> )</html>" );
  3. JOptionPane.showMessageDialog(null, msg, "A propos", JOptionPane.PLAIN_MESSAGE, spi);


Message édité par yo c spi le 28-07-2011 à 19:15:49

---------------
J.C. Farinet
Reply

Marsh Posté le 26-07-2004 à 12:15:08    

Boujour tout le monde,
 
 
Encore un truc a vous demander...
 
Quand j'execute (menu demarrer, executer) la commande "mailto:zeboss@hardware.fr", sous windows, ca marche sans probleme.
Quand j'execute : "explorer mailto:zeboss@hardware.fr", sous windows, ca marche mais ca m'ouvre une fenetre internet explorer en plus(navigateur par defaut), et la c'est encore normal.
 
maintenant dans mon code java, si je fais :
 

Code :
  1. final String DEFAULT_CMD_LINE = System.getProperty("os.name" ).startsWith("Windows" ) ? "explorer " : "mozilla"; 
  2. String url = "mailto:zeboss@hardware.fr";
  3. String[] cmd = new String[2];
  4. cmd[0] = DEFAULT_CMD_LINE;
  5. cmd[1] = "" + url + "";
  6. Process process = Runtime.getRuntime().exec(cmd);


 
ca me fait la meme chose: ca m'ouvre le client mail, outlook en l'occurence et internet explorer. C'est aussi normal.
 
Le truc c'est que j'arrive pas a lancer juste la commande "mailto", j'ai essayé ca:
 

Code :
  1. String url = "mailto:zeboss@hardware.fr";
  2. String[] cmd = new String[1];
  3. cmd[0] = "" + url + "";
  4. Process process = Runtime.getRuntime().exec(cmd);


 
mais je conprennd pas, ca marche pas, ca me declanche une exception...
 
 
Vous avez comment pour lancer la commande "mailto"?... y'a un truc qui m'echappe...
 
 
Derniere chose, pour le lien, j'ai implementé MouseListener pour changer le curseur en main, j'ai changé la couleur du texte en bleu, et j'aimerai souligner le JLabel quand on passe dessus mais je trouve pas comment souligner un JLabel...
 
 
Merci a tous!


Message édité par ruready le 26-07-2004 à 12:18:22
Reply

Marsh Posté le 27-07-2004 à 06:43:24    

J'ai regardé de plus pres comment souligner mon JLabel,
 
J'ai fait ca:
 
 

Code :
  1. //le JLabel qui sert de lien pour envoyer un mail:
  2. final JLabel jl5 = new JLabel("envoyer un mail" );
  3. jl5.setBounds(130,185,80,30);
  4. //je recupere les TextAttributs d'une font:
  5. Map textAttributes = (new Font("",1,12)).getAttributes();
  6. //et j'ajoute l'attribut underline, en mettant sa valeur a underline_on:
  7. textAttributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
  8. //j'applique la police a mon JLabel:
  9. jl5.setFont(new Font(textAttributes));


 
Ca me semble pas trop mal... le seul probleme... ben ca marche pas! je vois pas comment faire...


Message édité par ruready le 27-07-2004 à 06:45:25
Reply

Marsh Posté le 27-07-2004 à 10:01:47    

et de le repeindre par derrière !!!

Reply

Marsh Posté le 27-07-2004 à 12:34:34    

rien y fait...

Reply

Marsh Posté le 14-09-2009 à 16:12:56    

hop déterrage de fond de court.
 
en Java 6 :

Code :
  1. final String message = "<html><a href='mailto:support@example.com'>support@ example.com</a> </html>";
  2.                 final JEditorPane editorPane = new JEditorPane("text/html", message);
  3.                 editorPane.setEditable(false);
  4.                 editorPane.setOpaque(false);
  5.                 editorPane.setBackground(null);
  6.                 editorPane.addHyperlinkListener(new HyperlinkListener() {
  7.                     public void hyperlinkUpdate(final HyperlinkEvent e) {
  8.                         if (e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)) {
  9.                             try {
  10.                                 Desktop.getDesktop().mail(e.getURL().toURI());
  11.                             } catch (IOException e1) {
  12.                                 throw new RuntimeException(e1);
  13.                             } catch (URISyntaxException e1) {
  14.                                 throw new RuntimeException(e1);
  15.                             }
  16.                         }
  17.                     }
  18.                 });


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed