R
RDav
Gast
Hi,
ich habe hier eine karte, ein raster eher. bei dieser karte werden alle user aus der db als punkt ihrer jeweiligen koordinate gezeigt und beim mouseover über eines der punkte, wird der name des users gezeigt
mein problem ist, dass das applet im appletviewer hängt und beim test mit tomcat, xampp und firefox funktioniert sie gar nicht. ich schätze das liegt daran, dass die ganze mysql beim bewegen der maus immer und immer wieder geladen werden muss, aber ich weiß nicht, wie ich es anders lösen könnte
ich erhoffe mir hier hilfe, da ich sonst nicht weiß, wo ich fragen soll
DiV RDav
hier ist der code der weltkartesql.class , ich denke die mysql-klasse brauch ich nicht posten
ich habe hier eine karte, ein raster eher. bei dieser karte werden alle user aus der db als punkt ihrer jeweiligen koordinate gezeigt und beim mouseover über eines der punkte, wird der name des users gezeigt
mein problem ist, dass das applet im appletviewer hängt und beim test mit tomcat, xampp und firefox funktioniert sie gar nicht. ich schätze das liegt daran, dass die ganze mysql beim bewegen der maus immer und immer wieder geladen werden muss, aber ich weiß nicht, wie ich es anders lösen könnte
ich erhoffe mir hier hilfe, da ich sonst nicht weiß, wo ich fragen soll
DiV RDav
hier ist der code der weltkartesql.class , ich denke die mysql-klasse brauch ich nicht posten
Code:
import java.util.* ;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
public class Weltkartesql extends Applet
implements MouseMotionListener {
int width, height;
int mx, my; // the mouse coordinates
int sx, sy; //string coordinates
Image img;
Image backbuffer;
Graphics backg;
ResultSet res;
int R,G,B;
String name;
String partei;
int xKoord;
int yKoord;
public void init() {
width = getSize().width;
height = getSize().height;
img = getImage(getDocumentBase(), "map1.jpg");
backbuffer = createImage( width, height );
backg = backbuffer.getGraphics();
backg.setColor( Color.white );
/*
temp.txt - 2
*/
addMouseMotionListener( this );
}
public void usersposition() {
MySQL mysql = new MySQL();
if (mysql.isAccessible() == true)
{
// System.out.println ("Möglich zu verbinden");
try {
mysql.connect();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
if (mysql.isConnected() == true)
{
// System.out.println ("Verbunden");
//VERBUNDEN!!!!!
try {
res = mysql.getQuery("SELECT Name, xKoord, yKoord, Partei FROM user");
while(res.next()){
String name = res.getString(1);
int xKoord = res.getInt(2);
int yKoord = res.getInt(3);
String partei = res.getString(4);
// System.out.println("Name: " + name + " x: " + xKoord + " y:" + yKoord + " Partei: " + partei);
if (partei.equals("AoAI")) {
R = 106;
G = 158;
B = 255;
}
if (partei.equals("keine")) {
R = 180;
G = 180;
B = 180;
}
if (partei.equals("GO4")) {
R = 219;
G = 163;
B = 100;
}
if (partei.equals("LGem")) {
R = 0;
G = 0;
B = 0;
}
if (partei.equals("MU")) {
R = 255;
G = 70;
B = 70;
}
if (partei.equals("LW")) {
R = 240;
G = 255;
B = 70;
}
backg.setColor (new Color(R, G, B ));
backg.fillRect((width/100) * (xKoord-1),(height/100) * (yKoord-1) ,(width/100),(height/100));
backg.setColor(Color.green);
if (mx/6 == xKoord && my/6 == yKoord)
{
backg.drawString(" ("+mx/6+","+my/6+") "+name ,sx,sy); //Koordinatenname
} else
{
backg.drawString(" ("+mx/6+","+my/6+")",sx,sy); //Koordinatenname
}
}
mysql.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println ("Fehler");
}
}
else
{
System.out.println ("Nicht Verbunden");
}
}
else
{
System.out.println("Nicht möglich zu verbinden");
}
}
public void mouseMoved( MouseEvent e ) {
mx = e.getX();
my = e.getY();
mx = mx+6;
my = my+6;
showStatus( "Mouse at (" + mx/6 + "," + my/6 + ")" );
backg.drawImage( img, 0, 0, this );
if (mx > (width/100)*80) { sx = mx - (width/100)*20;} else {sx = mx;}
if (my < (height/100)*2) { sy = my + (width/100)*5;} else {sy = my;}
backg.setColor( Color.black );
for ( int i = 0; i < 100; ++i ) {
backg.drawLine( i * width/100, height , i * width /100, 0 ); //Koordinatenlinien y
backg.drawLine( 0 ,i * height/100 , width , i * height /100 ); //Koordinatenlinien x
}
usersposition();
repaint();
e.consume();
}
public void mouseDragged( MouseEvent e ) { }
public void update( Graphics g ) {
g.drawImage( backbuffer, 0, 0, this );
}
public void paint( Graphics g ) {
g.drawImage( backbuffer, 0, 0, this );
}
}