15. november 2001 - 20:13
Der er
4 kommentarer og 1 løsning
link i applet
Hvordan får jeg en tekst i en label til at være et link? Teksten i denne label er en emailadresse og det ville være snedigt, hvis man så kunne trykke på denne emailadresse, som i HTML???
Annonceindlæg fra Genetec
15. november 2001 - 20:15
#1
Add en mouselistener til din applet, og fang museclick manuelt. Det er måden at gøre det på. Sig til hvis du skal bruge et eksempel.
15. november 2001 - 20:30
#3
import java.awt.*; import java.awt.event.*; import java.applet.*; import java.net.*; public class Link extends Applet implements MouseListener { private Label label=new Label(\"logical@logical.dk\"); private Color highlight = Color.red; private Color normal = null; public void init() { add(label); label.addMouseListener(this); } public void mouseExited(MouseEvent mouseEvent) { if (normal != null) { label.setForeground(normal); normal = null; } } public void mouseClicked(MouseEvent mouseEvent) { try { URL u = new URL(\"mailto:\" + label.getText()); getAppletContext().showDocument(u); } catch (MalformedURLException e) { showStatus(e.getMessage()); } } public void mouseEntered(MouseEvent mouseEvent) { normal = label.getForeground(); label.setForeground(highlight); } // Unused public void mouseReleased(MouseEvent mouseEvent) {} public void mousePressed(MouseEvent mouseEvent) {} }
15. november 2001 - 21:33
#4
Jeg kan godt se det er den rigtige løsning, MEN jeg står over et lille problem. E-mail adresserne hentes i en MySql-database, og der kan enten være 1 eller 2. Denne MouseListener skal så erklæres for hver af dem? Men jeg kan ikke lige greje hvordan fanden jeg klarer den ?
16. november 2001 - 02:58
#5
Hvis du har to labels?? init() { label1.addMouseListener(this); label2.addMouseListener(this); } public void mouseClicked(MouseEvent mouseEvent) { try { Label l = (Label) mouseEvent.getSource(); // Den klikkede label String address = l.getText(); if (address == null || adress.trim().length() == 0) return; URL u = new URL(\"mailto:\" + address); getAppletContext().showDocument(u); } catch (MalformedURLException e) { showStatus(e.getMessage()); } catch (ClassCastException cce) { showStatus(cce.getMessage()); } }