Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
hab mir hier im Forum alles durchgelesen was so über Datenbanken drinnen steht.
Im voraus, habe mir auch FAQ Warum manche Browser .... auch durchgelesen.
Also jetzt zu meinem Problem.
Ich lese Koordinaten aus einer MySql Datenbank aus, und zeichne die Punkte auf ein Bild und lass dieses ausgeben.
Wenn ich das Applet von Eclipse aus starte funktioniert es auch, wenn ich es aber über nen Browser aufmache funktioniert es nicht mehr.
Hab aber auch schon Punkte selbst reingeschrieben und dann werden sie auch vom Browser dargestellt.
Nun weiß jemand warum das so ist?
Applet:
Code:
public class PrintMap extends Applet {
public Image image;
Database data_array[];
public void init(){
try {
image = getToolkit().createImage(new URL(getDocumentBase(), "http://miramonte.homelinux.net/portal/pic/muc2.jpg"));
} catch(IOException ioe) {
System.out.println("Fehler beim erstellen des Bild-Pfades");
}
}
public void paint (Graphics g) {
try {
g.drawImage( image, 0, 0, this );
g.setColor(Color.red);
data_array = getDataFromDatabase(2);
int count_x = 0;
int count_y = 0;
while (data_array[count_x] != null){
double x = data_array[count_x++].m_x;//Math.round(-1*(data_array[count++].m_x-575414219)/600);
double y = data_array[count_y++].m_y;//Math.round((data_array[count++].m_y-135915119)/900);
g.fillOval((int)y, (int)x, 10, 10);
System.out.println("X-Wert "+x+" Y-Wert "+y);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public Database[] getDataFromDatabase(int id) throws SQLException{
Database db = new Database();
Connection conn = db.makeConnection("root","ei44","jdbc:mysql://localhost/trackingtool");
id = 2;
Database lokal_data_array[] = db.readFromDatabaseTrackingTool(conn, id);
return lokal_data_array;
}
}
localhost stimmt im Falle eines Applets glaube ich nicht (bei Servlets passt das).
Wenn das der Fehler ist, kann mir dann vielleicht jemand sagen wie das richtig heißen würde?
Oh, sorry. Ich habe den catch-Block erst zu spät gelesen.
Hast du vor, ein Verzeichnis zu erstellen bzw. Bild zu speichern?
Welche Fehler werden ausgegeben, auch mal die Java-Console im Browser kontrollieren!
Also:
-> Ich sammle über ein Servlet GPS-Daten und speichere diese in einer Datenbank.
-> nach der Fahrt soll man sich nun im Internet die gefahrene Route anschauen können
d.h. Applet liest die Daten aus der Datenbank rechnet dies um und zeichnet dies auf ein Bild.
-> Das bild bzw. Karte wird angezeigt bloß die gezeichneten Punkte nicht. Funktioniert nur wenn ich aus Eclipse starte.
Fehlermeldung aus Konsole:
Code:
Exception in thread "AWT-EventQueue-6" java.lang.NoClassDefFoundError: com/bmw/online/portal/service/Database
at PrintMap.getDataFromDatabase(PrintMap.java:62)
at PrintMap.paint(PrintMap.java:45)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
kann das sein dass das nicht funktioniert, da die Klasse Database in WEB-INF liegt, d.h. bei der Ausführung vom Applet auf dem Client kann ja eigentlich nicht darauf zugegriffen werden.
Wenn ich das Bild von einem Servlet aufbereiten lasse und dann auf der Platte speichere und dann nur noch mit dem Applet das Bild aufrufe muss ja funktionieren.
Hat jemand vielleicht ein kleines Beispiel über Bild öffen und wieder speichern. Geht das auch über die Klasse Image?
Ok,
Wenn ich das Bild von einem Servlet aufbereiten lasse und dann auf der Platte speichere und dann nur noch mit dem Applet das Bild aufrufe muss ja funktionieren.