Wikipedia Artikel lesen

LastSamurai

Mitglied
Ich hab in einem Programm verschiedene Suchbegriffe und will das Ergebniss dieser Wikipediasuche in meinem Programm anzeigen.
Am schönsten wäre es natürlich wenn eine Art Minibrowser im Programm erscheinen würde, sodass man gleich Links usw. nutzen könnte. Ich weiß das es in Delphi so eine Komponente gibt. Gibt es in Java etwas vergleichbares??

Ansonste wäre es auch möglich das ganze statisch anzuzeigen. Dazu habe ich folgenden Code probiert, der aber das Problem hat, dass ich den eigentlichen Text ja iwie aus dem ganzen HTML Code holen muss:

Java:
URL url = new URL("http://de.wikipedia.org/wiki/Sandbox");

                URLConnection connection = url.openConnection();

                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));

                String line, x;
                while ((line = in.readLine()) != null) {
                    line = filterText(line);
                    System.out.println(line);
                    result = result + line;
                }

Wobei filterText das halt rausfiltern müsste. Da weiß ich aber auch noch nichtnach welchem Prinzip ich das machen soll.
 

LastSamurai

Mitglied
Danke ich habe mir das DJ Projekt gerade mal angeschaut und das sieht ziemlich gut aus.
Aber leider verstehe ich nicht so recht wie ich das jetzt nutzen kann. Mit dem einbinden fremder Komponenten habe ich leider noch keine Erfahrungen :oops:
Ich hab mir den Ordner runtergeladen.
Ich nutze Netbeans und habe die DJNativeSwing.jar als Bibliothek hinzugefügt im Projekt. Jetzt ging auch das
Java:
NativeSwing.initialize();
das in einer der vielen readmes stand. Aber wie nutze ich jetzt den Browser? Oder wie sehe ich mir deren Demo an? Da ist nur die .jar Datei die bei der Ausführung bei mir aber nichts macht...

Sorry für die für euch wahrscheinlich dummen Fragen ;).
 

LastSamurai

Mitglied
Ok danke, die habe ich jetzt auch gefunden. Aber es geht trotzdem noch nicht. Ich habe mal die SimpleWebBrowserExample.java in mein Projekt mit eingebunden und folgenden Code eingebaut:
Java:
SimpleWebBrowserExample web = new SimpleWebBrowserExample();

Dann bekomme ich immer folgende Fehlermeldung:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/events/MouseListener
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getConstructor0(Class.java:2699)
        at java.lang.Class.getDeclaredConstructor(Class.java:1985)
        at chrriis.dj.nativeswing.swtimpl.internal.NativeCoreObjectFactory.create(NativeCoreObjectFactory.java:36)
        at chrriis.dj.nativeswing.swtimpl.components.JWebBrowser.<init>(JWebBrowser.java:189)
        at itunesinfoplus.SimpleWebBrowserExample.<init>(SimpleWebBrowserExample.java:32)
        at itunesinfoplus.Main.main(Main.java:37)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.events.MouseListener
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 8 more
 
T

Tomate_Salat

Gast
du solltest dir die Beispiele anschauen:
Java:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;

/**
 * @author Christopher Deckers
 */
public class SimpleWebBrowserExample extends JPanel {

  public SimpleWebBrowserExample() {
    super(new BorderLayout());
    JPanel webBrowserPanel = new JPanel(new BorderLayout());
    webBrowserPanel.setBorder(BorderFactory.createTitledBorder("Native Web Browser component"));
    final JWebBrowser webBrowser = new JWebBrowser();
    webBrowser.navigate("http://www.google.com");
    webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
    add(webBrowserPanel, BorderLayout.CENTER);
    // Create an additional bar allowing to show/hide the menu bar of the web browser.
    JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 4, 4));
    JCheckBox menuBarCheckBox = new JCheckBox("Menu Bar", webBrowser.isMenuBarVisible());
    menuBarCheckBox.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent e) {
        webBrowser.setMenuBarVisible(e.getStateChange() == ItemEvent.SELECTED);
      }
    });
    buttonPanel.add(menuBarCheckBox);
    add(buttonPanel, BorderLayout.SOUTH);
  }

  /* Standard main method to try that test as a standalone application. */
  public static void main(String[] args) {
    UIUtils.setPreferredLookAndFeel();
    NativeInterface.open();
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        JFrame frame = new JFrame("DJ Native Swing Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(new SimpleWebBrowserExample(), BorderLayout.CENTER);
        frame.setSize(800, 600);
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
      }
    });
    NativeInterface.runEventPump();
  }

}

Damit hast du schonmal eine Grundlage. Alles weitere steht in der Dokumentation.
 

LastSamurai

Mitglied
?? Aber das habe ich doch gemacht.. genau die Klasse benutze ich ja. (Mal davon abgesehen das ich da die Mainfunktion rausgenommen habe und die in meine Mainfunktion integriert habe).
Und es kommen immer die oben genannten Fehler.

Anscheinend meckert er bei der Zeile
Java:
final JWebBrowser webBrowser = new JWebBrowser();
rum.

Komisch ist auch
Code:
org/eclipse/swt/SWT
das (Teil der Fehlermeldungen oben). Warum Eclipse? Ich benutze Netbeans und Eclipse ist momentan nichtmal installiert....
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
SWT ist vergleichbar mit Swing. Eclipse setzt darauf.

ok sorry habe ich deinen Post nicht richtig gelesen. Welche *.jar hast du in deinem Classpath. Laut readme reicht die DJNativeSwing.jar
Ich schätze mal (ohne reproduktionsversuch): du hast die DJNativeSwing-SWT.jar oder DJNativeSwing-SWTDemo.jar eingebunden. Diese setzen wohl SWT vorraus (welches auch ohne eclipse verwendet werden kann ;-) ).
 

LastSamurai

Mitglied
Ich habe momentan die DJNativeSwing.jar und die DJNativeSwing-SWT.jar eingebunden. Ohne die zweite geht es nicht, da da der Browser anscheinend drin ist. Es kommt immer noch eine Fehlermeldung.
Habe ich beim einbinden envt. etwas falsch gemacht? Ich habe folgendes gemacht:
Unter Netbeans: Im der Projektübersicht links: Rechtsklick auf Libraries und dann Add Jar/Folder und dort die beiden ausgewählt. Dann habe ich eine neue .java Datei erzeugt und den Inhalt der SimpleWebBrowserExample reinkopiert.
 

LastSamurai

Mitglied
Mhm es geht leider immer noch nicht obwohl ich jetzt schon weiter bin. Da in den Fehlermeldungen ja immer was von SWT stand hab ich das mal runtergeladen (die .jars dazu). Hab zuerst die 64 bit Variante finden müssen. Mit der dann folgender Fehler:
Code:
Exception in thread "main" java.lang.IllegalStateException: The version of SWT that is required is 3.7M5 or later!

Also die aktuellste Version installiert... immer noch ein Fehler. Diesmal der hier:
Code:
NativeSwing[1]: Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
NativeSwing[1]:         no swt-gtk-3721 in java.library.path
NativeSwing[1]:         no swt-gtk in java.library.path
NativeSwing[1]:         Can't load library: C:\Users\"Name"\.swt\lib\win32\amd64\swt-gtk-3721.dll
NativeSwing[1]:         Can't load library: C:\Users\"Name"\.swt\lib\win32\amd64\swt-gtk.dll
...

Und tatsächlich scheint unter dem Pfad nichts zu liegen (im Explorer). Kann mir jemand da weiterhelfen? Wo bekomme ich die Dateien jetzt wieder her? Konnte die leider per google nicht finden.
 

StrikeTom

Bekanntes Mitglied
Guck mal:
Java:
import javax.swing.*; 
import javax.swing.event.*; 
import java.io.*; 
import java.net.*; 
 
public class JBrowser extends JEditorPane implements HyperlinkListener 
{ 
  JBrowser( String url ) 
  { 
    setEditable( false ); 
    addHyperlinkListener( this ); 
 
    try 
    { 
      setPage( new URL(url) ); 
    } 
    catch ( IOException e ) { e.printStackTrace(); } 
  } 
 
  @Override public void hyperlinkUpdate( HyperlinkEvent event ) 
  { 
    HyperlinkEvent.EventType typ = event.getEventType(); 
 
    if ( typ == HyperlinkEvent.EventType.ACTIVATED ) 
    { 
      try 
      { 
        setPage( event.getURL() ); 
      } 
      catch( IOException e ) { 
        JOptionPane.showMessageDialog( this, 
                                      "Kann dem Link nicht folgen: " 
                                      + event.getURL().toExternalForm(), 
                                      "Ladefehler", 
                                      JOptionPane.ERROR_MESSAGE ); 
      } 
    } 
  } 
 
  public static void main( String[] args ) 
  { 
    JFrame f = new JFrame(); 
    f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
    f.setSize( 600, 500 ); 
    f.add( new JScrollPane(new JBrowser("http://www.heise.de/index.html")) ); 
    f.setVisible( true ); 
  } 
}

Hier kannst du was dazu nachlesen
 

LastSamurai

Mitglied
Danke der letzte Tipp war schon mal sehr gut. Das ist etwas einfacher und funktioniert wenigstens^^.

So Problem hat sich geändert: Der Browser läuft erstmal aber hier komme ich nicht weiter, obwohl das ja eigentlich simpel sein sollte^^. Hab in Netbeans ein JFrame mit einem JLabel erzeugt. Wie ändere ich jetzt dynamisch den Text??
Hier ein Ausschnitt aus der Hauptmethode:

Java:
MainFrame mainfr = new MainFrame();
        mainfr.setVisible(true);
        mainfr.setResizable(false);

        // Geht beides nicht...
        lblTitel.setText("Tets");
        mainfr.lblTitel.setText("Test");

Was muss ich hier noch ändern um das zum Laufen zu bringen?
Vielen Dank aber erstmal für die Tipps bis hierher!!
 
Zuletzt bearbeitet:

LastSamurai

Mitglied
Und das soll helfen? Ich hab jetzt eine Einstellung gefunden. Man konnte dort noch einstellen das die Variablen public sein sollen und jetzt geht es. Jetzt aber die nächste Frage: wie bekomme ich ein Button - Gedrückt Ereignis das rein?
Also irgendwie habe ich fast das Gefühl es ist einfacher die Formulare per Code zu erstellen als hier die ganze Zeit an nichts ranzukommen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Probleme mit wikipedia quellcode zur binären Suche Allgemeine Java-Themen 6
Sonecc AutoBoxing Kritik auf wikipedia - Frage Allgemeine Java-Themen 9
G Konvertieren: Wikipedia-Formatierung -> HTML Allgemeine Java-Themen 5
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
KaffeeFan Artikel hinzufügen Allgemeine Java-Themen 3
M Focus setzen - Frage zu FAQ Artikel Allgemeine Java-Themen 6
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
G Dateien lesen Allgemeine Java-Themen 3
OnDemand Excel lesen wie CSV Allgemeine Java-Themen 7
S Textdatei statt von Dateisystem aus .jar lesen Allgemeine Java-Themen 3
oskarS85 GeoTiff NDVI pixelweise lesen Allgemeine Java-Themen 2
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
OnDemand CSV lesen flexible Spalten Allgemeine Java-Themen 3
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
S File lesen und schreiben Java 6 Allgemeine Java-Themen 2
J Die Letzte Zahl aus einer Text datei lesen Allgemeine Java-Themen 8
L Input/Output Kassenzettel lesen aus einem Bild Allgemeine Java-Themen 2
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
G Excel Tabelle lesen und in neue Excel Tabelle einfügen Allgemeine Java-Themen 11
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
A File lesen Codierung Charset Allgemeine Java-Themen 5
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
D Mit Java PHP hashmap lesen Allgemeine Java-Themen 1
B Quellcode lesen - Aussortieren Allgemeine Java-Themen 3
A Steuerung von Spiel aus Datei lesen Allgemeine Java-Themen 0
F Best Practice Große Anzahl an Objekten speichern und lesen Allgemeine Java-Themen 19
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
OnDemand Java Barcode lesen Allgemeine Java-Themen 4
F Json in sql speichern und lesen Allgemeine Java-Themen 10
K Classpath Alle Classen aus einem Package lesen Allgemeine Java-Themen 7
X NetBeans Bilder und andere Dateien ins .jar schreiben und wieder aus .jar lesen Allgemeine Java-Themen 6
K Bestimmten Bereich eines Strings lesen Allgemeine Java-Themen 6
H Input/Output .txt Datei in Jar lesen Allgemeine Java-Themen 6
F Lesen effizienter als schreiben? Allgemeine Java-Themen 4
RalleYTN REST API ResponseType application/pdf lesen Allgemeine Java-Themen 0
R Inputstream lesen mit Pointer Allgemeine Java-Themen 0
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
javampir Input/Output Effizienz beim binären Lesen einer Datei Allgemeine Java-Themen 6
D Datentyp von Unbounded Wildcards lesen Allgemeine Java-Themen 2
J Text lesen und in Variablen speichern Allgemeine Java-Themen 3
B SMS von Vodafone Mobile Connest mit JAVA-Programm lesen Allgemeine Java-Themen 0
2 String Array in Datei schreiben und wieder davon lesen Allgemeine Java-Themen 2
A In Excel-Datei schreiben, Formeln der Mappe anwenden, Wert lesen Allgemeine Java-Themen 3
Thallius Dateien Zippen und wieder heraus lesen? Allgemeine Java-Themen 4
L Input/Output Datei in den Speicher lesen. Allgemeine Java-Themen 9
E Lesen von mehrere Csv-Datei und ihre Inhalte vergleichen Allgemeine Java-Themen 3
F Java Bytecode lesen Allgemeine Java-Themen 5
W Schreiben/Lesen aus RS232 / jssc Allgemeine Java-Themen 0
L Input/Output Datei lesen Allgemeine Java-Themen 1
H Mehrere Bilder aus einer Datei lesen Allgemeine Java-Themen 2
OnDemand Lesen aus Properties Allgemeine Java-Themen 7
S XML lesen, verarbeiten, speichern klappt in Eclipse, aber nicht in der JAR Allgemeine Java-Themen 4
N Content von URL lesen Allgemeine Java-Themen 18
T UTF-16LE String aus LDAP lesen und als ISO-8859-1 in DB speichern? Allgemeine Java-Themen 2
J Bytes aus Socket lesen Allgemeine Java-Themen 9
M Aus Excel Tabelle lesen und Werte in Array speichern Allgemeine Java-Themen 15
W Passwortgeschuetzte .mpp Datei mit MPXJ lesen Allgemeine Java-Themen 3
O BufferedReader von ganz unten anfangen zu lesen Allgemeine Java-Themen 7
G Binäre Datei lesen / schreiben Allgemeine Java-Themen 9
E Apache POI-Datei lesen und umschreiben Allgemeine Java-Themen 8
T Welches Tuturial soll ich paralell lesen ? Allgemeine Java-Themen 3
T Datei lesen, bearbeiten, speichern Allgemeine Java-Themen 14
T Kann HTML Datei nicht lesen Allgemeine Java-Themen 3
S Die Zeile die JUnit gerade ausführt lesen Allgemeine Java-Themen 15
A nur einen Wert aus einer .conf lesen und erneuern Allgemeine Java-Themen 3
H Input/Output InputStream: 32-Bit-Ganzzahl (DWORD) binär lesen Allgemeine Java-Themen 5
B Hex aus .txt lesen Allgemeine Java-Themen 8
C Datentypen von string in ein array lesen Allgemeine Java-Themen 4
C aus einem String einzelne Hex Werte lesen Allgemeine Java-Themen 7
D Ausgabe von C# Konsolenanwendung lesen Allgemeine Java-Themen 5
F CSV-Datei aus Internet lesen Allgemeine Java-Themen 2
P ObjectInputStream kann nicht vernünftig lesen... Allgemeine Java-Themen 9
R Datei zeilenweise lesen und schreiben Allgemeine Java-Themen 6
0 Datein aus laufender Jar lesen und bearbeiten Allgemeine Java-Themen 10
S Dateien aus src-Ordner lesen Allgemeine Java-Themen 3
F hex-farbwert der pixel aus bildern lesen Allgemeine Java-Themen 4
J HSSF - schreiben in und lesen aus vorhandener Datei Allgemeine Java-Themen 6
R Properties Datei aus Applikationsverzeichnis lesen Allgemeine Java-Themen 5
J xlsx Dateien lesen OHNE apache POI Allgemeine Java-Themen 6
C Property-File lesen und schreiben Allgemeine Java-Themen 20
M Binäre Datei schreiben und lesen Allgemeine Java-Themen 4
N Problem beim lesen einer File in JAR-File Allgemeine Java-Themen 3
D Datei lesen ohne sie für umbenennen/verschieben zu sperren Allgemeine Java-Themen 13
reibi Sicher ein File lesen Allgemeine Java-Themen 28
R Java lesen von Dateien, Little-Endian Allgemeine Java-Themen 2
N Performates lesen von Objekten aus Dateien Allgemeine Java-Themen 2
T Integer aus InputStream lesen Allgemeine Java-Themen 3
C Alle Klassen eines Packages lesen und instanzieren? Allgemeine Java-Themen 9
D Probleme beim schreiben / lesen in TreeMap Allgemeine Java-Themen 9
D (Viele) Daten performant speichern und lesen Allgemeine Java-Themen 5
TiME-SPLiNTER Unbekannte Anzahl serialisierter Objekte lesen Allgemeine Java-Themen 2
brunothg Iso lesen Allgemeine Java-Themen 2
B PDF lesen funktioniert bei bestimmten Dateien nicht mit pdfview Allgemeine Java-Themen 4
C Markierung durch Maus lesen Allgemeine Java-Themen 9
nrg JDOM Tabelle lesen Allgemeine Java-Themen 6
P Datei in einen String lesen Probleme bei Codierung Allgemeine Java-Themen 2
L Grafik lesen Allgemeine Java-Themen 2
P Mime Type aus Stream lesen Allgemeine Java-Themen 5
H POI Excel lesen und schreiben Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben