Wie Internetseite aus Applikation aufrufen und anzeigen

Status
Nicht offen für weitere Antworten.

BoFiaZ

Mitglied
Hi,

ich weiß nun nicht ob ich hier in das Forum poste, da meine Frage ja eigentlich was mit Netzwerkprogrammierung zu tun hat, ich jedoch ebenso ein blutige Anfänger in Java bin. Also wenn ich hier falsch gepostet haben sollte, möge es man mir verzeihen und den Thread entsprechend umkopieren.

Nun zu meiner Frage. Ich bin gerade dabei meine zwei Java Bücher durchzuarbeiten (Java in 21 Tagen und Java 2, das Einsteigerseminar). Ich bin nun bei der Lektion Netzwerkprogrammierung und da sind zwei Beispiele wie man eine URL im Netz aufrufen kann.
Die erste Möglichkeit ist das ganze über ein Applet zu tätigen, was ich aber nicht will da ich eine Applikation zum lernen haben will und die andere ruft zwar die Internet auf, ließt dann jedoch den Quellcode ein und gibt ihn zeilenweise aus (also nicht die URL an). Bei dem ersten Beispiel ist es auch noch so das die URL im richtigen Browser aufgerufen wird, ich möchte jedoch das die URL in meiner Applikation als richtige Internetseite erscheint.

Könnt ihr mir vielleicht sagen welche Packages ich dafür benötige? Ich möchte das wirklich sehr einfach halten und die Internetseite auf einem JScrollPane anzeigen (wenn das geht).
 
Doch etwas schwieriger als ich gedacht habe...

Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javaapplication2;

import javax.swing.JEditorPane;
import java.net.*;

/**
 *
 * @author Example
 */
public class Internet extends JEditorPane {
    JEditorPane pane = new JEditorPane(); 
    URL web1 = new URL("http://www.example.com");
    pane.setPage(web1.getURL());    
}

Meine Connection ist wahrscheinlich nicht korrekt..., aber der Fehler kommt immer bei web1.getURL(). Da steht dann: "identifier expected". Könnt ihr mir einen Denkanstoß geben bitte...
 
du darst keinen normalen Code direkt in eine Klasse schreiben,
das geht nur in Methoden + Konstruktoren

wenn du von JEditorPane erbst, dann ist das Objekt selber übrigens das JEditorPane,
da brauchst du nicht noch ein Objekt JEditorPane erzeugen


was wäre nur Swing, wenn man die Grundlagen vorher könnte.. (können würde?)
 
Danke...

Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javaapplication2;

import javax.swing.JEditorPane;
import java.net.*;

/**
 *
 * @author example
 */
public class Internet extends JEditorPane {
    // JEditorPane pane = new JEditorPane(); 
    public void Internet() {
        URL web1 = new URL("http://www.example.com");
        this.setPage(web1);     
    }    
}

Jetzt scheint zumindest der Code an der richtigen Stelle (im Konstruktor) zu sitzen, allerdings stimmt was mit der URL Connection nicht. Ich habe das Beispiel aus dem Buch, da wird allerdings mit einem Applet gearbeitet und mit dem Code "getAppletContext().shopDocument(web1);" das Dokument zur Anzeige gebracht. Ich dache deshalb das für die Darstellung der Internetseite im JEditorPane nicht mehr von nöten ist. Aber es funktioniert nicht. Wie kann ich den die Seite nun im Element anzeigen lassen? "web1.getURL()" gibt es als Methoad in "setPage" nicht.

Mmh., bin etwas ratlos...
 
Ich bin mir jetzt nicht sicher, was das Problem ist, darum kopier ich halt mal mein Beispiel hier rein...
Code:
JFrame frame = new JFrame("foobar");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(400, 300));

JEditorPane jep = new JEditorPane(new URL("http://www.google.com"));
JScrollPane jsp = new JScrollPane(jep);

frame.add(jsp);

frame.setVisible(true);
 
Danke, ich habs mit folgendem Code nun gelöst bekommen:

Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javaapplication2;

import javax.swing.*;
import java.net.*;
import java.io.IOException;

/**
 *
 * @author example
 */
public class Internet extends JFrame {
    
    public void Test() {
        try {
            JFrame frame = new JFrame("foobar");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(800, 1200);

            JEditorPane jep = new JEditorPane(new URL("http://www.google.com"));   
            JScrollPane jsp = new JScrollPane(jep);

            frame.add(jsp);

            frame.setVisible(true);
        } catch (IOException e) {
            // 
        }
    }    
    
    public static void main(String args[]) {
        Internet web1 = new Internet();
        web1.Test();
    }
}

Jetzt habe ich nur noch ne Frage... und zwar wurde mir ja das JEditorPane empfohlen. Allerdings möchte ich in der Anzeige nicht editieren können, würde aber gerne wie in einem Browser darin klicken können und die verlinken Seiten besuchen. Benötige ich da noch weitere Codeblöcke??? Oder gar ein ganz anderes Element zum Anzeigen? Ich bitte nochmals um einen Denkanstoß...

Vielen Dank!
 
Ohne auf Deine Frage einzugehen:

public void Test() {

methoden werdne in einem kleinen camelcase in java geschrieben

public voidtest() {

wre also richtig 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben