PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mittels Java auf HTML verlinken


tomtom
2004-05-18, 11:52:26
Hi!

Würde gern wissen ob man in nem Java Programm auf ne HTML/PHP-Seite verlinken kann??? Wenn ja, wie?
Würde mich über schnelle Antworten freuen ;)

MFG terminator2k3

ethrandil
2004-05-18, 13:07:02
Ich hab sowas zwar noch nie gemacht, aber ich finde im Interface AppletContext die Methode

public void showDocument(URL url, String target);
/*Requests that the browser or applet viewer show the Web page indicated by the url argument.*/

und in Applet:

public AppletContext getAppletContext();


Aalso machst du das in der Appletklasse so:


this.getAppletContext().showDocument(new URL("http://www.forum-3dcenter.org/"), "_blank");


den String für das Target kannst du auch komplett weglassen.

- Eth

HellHorse
2004-05-18, 13:53:40
Falls du nicht in einem Applet oder JWS-Anwendung bist, musst du wohl einen Browserprozess mit der URL als Argument auftun. Dazu musst du aber den Namen der Browser-Binary und den Pfad, falls er nicht in $PATH liegt, wissen. Unter Windooze kannst du z.B. einfach den IE nehmen, unter UNIX kannst du auf mozilla oder netscape raten.
Der richtige Weg wäre jedoch, den User den Browser auswählen zu lassen.

Dieser böse Code öffnet einen Link im IE.

import javax.swing.JLabel;
import java.util.Map;
import java.awt.font.TextAttribute;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Link extends JLabel implements MouseListener {

private String url;

public Link(String url) {
super("<html><u>"+url+"</u></html>");
this.setForeground(Color.BLUE);
this.url = url;
this.addMouseListener(this);
}
public void mouseClicked(MouseEvent e) {
//open link
try {
Runtime.getRuntime().exec("explorer "+this.url);
//todo: change color to visted
}
catch (java.io.IOException err) {
System.out.println("could not open link");
System.out.println(err);
System.out.println(err.getCause());
}
}
public void mousePressed(MouseEvent e) {
//nothing
}
public void mouseReleased(MouseEvent e) {
//nothing
}
public void mouseEntered(MouseEvent e) {
this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}
public void mouseExited(MouseEvent e) {
this.setCursor(Cursor.getDefaultCursor());
}
}