jurrasstoil
Commodore
- Registriert
- Dez. 2006
- Beiträge
- 4.226
Hey,
ich stehe ordentlich auf dem Schlauch.
Ich versuche mich gerade ein wenig in Java und wollte eigentlich nur ein sehr kleines Programm, das mit der JSoup Bibliothek eine html Seite lädt, ein bestimmtes Attribut eines bestimmten Elements mit einer bestimmten ID checkt und dementsprechend ein JPanel Icon ändert. Das funktioniert auch soweit, allerdings hätte ich gerne, dass dies alle 60s erneut überprüft wird - und daran hakt es.
Ich hab es mit ScheduledExecutorService versucht, doch egal wie ich es gedreht habe kam nichts funktionierendes bei heraus. Dieser benötigt Runnable mit void run(), dann meckert er aber rum das Jsoup.connect eine unhandled Exception hat. run() in der new Runnable() wiederum kann ich aber nicht dazu bewegen das zu tun.
Eine while oder for Schleife mit Thread.sleep(60000) hat auch nichts gebracht.
Wäre dankbar für einen Schubs in die richtige Richtung bzw. einen Fingerzeig wo mein Denkfehler und Wissensmangel zu Unvermögen führen.
ich stehe ordentlich auf dem Schlauch.
Ich versuche mich gerade ein wenig in Java und wollte eigentlich nur ein sehr kleines Programm, das mit der JSoup Bibliothek eine html Seite lädt, ein bestimmtes Attribut eines bestimmten Elements mit einer bestimmten ID checkt und dementsprechend ein JPanel Icon ändert. Das funktioniert auch soweit, allerdings hätte ich gerne, dass dies alle 60s erneut überprüft wird - und daran hakt es.
Code:
import javax.swing.*;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.IOException;
public class MainGUI {
private JPanel panel;
private JLabel redgreen;
public static void main(String[] args) throws IOException {
JFrame frame = new JFrame("MainGUI");
frame.setContentPane(new MainGUI().panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public MainGUI() throws IOException {
ImageIcon red = new ImageIcon("red.png");
ImageIcon green = new ImageIcon("green.png");
Document doc = Jsoup.connect("URL").get(); //hier holt er sich die Seite
Elements available = doc.select("p#ID_des_Elements"); //das zu checkende Element mit der ID
String attr = available.attr("style"); //das zu checkende Attribut
if (attr.equals("display:none;")) {
redgreen.setIcon(red);
}
else {
redgreen.setIcon(green);
}
}
}
Ich hab es mit ScheduledExecutorService versucht, doch egal wie ich es gedreht habe kam nichts funktionierendes bei heraus. Dieser benötigt Runnable mit void run(), dann meckert er aber rum das Jsoup.connect eine unhandled Exception hat. run() in der new Runnable() wiederum kann ich aber nicht dazu bewegen das zu tun.
Code:
java: run() in <anonymous com.company.MainGUI$1> cannot implement run() in java.lang.Runnable overridden method does not throw java.io.IOException
Eine while oder for Schleife mit Thread.sleep(60000) hat auch nichts gebracht.
Wäre dankbar für einen Schubs in die richtige Richtung bzw. einen Fingerzeig wo mein Denkfehler und Wissensmangel zu Unvermögen führen.