R
RockyBalboa
Gast
Hi,
Ich habe ca. 54500 koordinaten aus einer datei, die eingelesen werden müssen. Danach sollen sie auf einer art player (GUI) mit Linien nachgezeichnet werden. Man soll den verlauf der linien erkennen. Ich habe die Koordinaten mit dem BufferedReader eingelesen, und anhand des StringTokenizer (for-Schleife) in die einzelnen Koordinaten unterteilt. Wenn ich das Programm ausführe, erhalte ich zwar das gesamte Bild auf einmal, aber da es ja ein player werden soll, wüsste ich gerne, was ich machen muss, damit die linien nach und nach aufgebaut werden... Ist das in JAVA möglich?
Hier mein Programm:
Wäre euch sehr verbunden, wenn ihr mir helfen könntet.
MFG
Ich habe ca. 54500 koordinaten aus einer datei, die eingelesen werden müssen. Danach sollen sie auf einer art player (GUI) mit Linien nachgezeichnet werden. Man soll den verlauf der linien erkennen. Ich habe die Koordinaten mit dem BufferedReader eingelesen, und anhand des StringTokenizer (for-Schleife) in die einzelnen Koordinaten unterteilt. Wenn ich das Programm ausführe, erhalte ich zwar das gesamte Bild auf einmal, aber da es ja ein player werden soll, wüsste ich gerne, was ich machen muss, damit die linien nach und nach aufgebaut werden... Ist das in JAVA möglich?
Hier mein Programm:
Code:
import java.awt.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
import javax.swing.*;
public class Player extends JComponent {
static JFrame myFrame;
static Panel myPanel;
static Polygon p = new Polygon();
static String pathname = "...ListeVonKoordinaten.txt"; //Beispiel
static File input;
public void paintComponent(Graphics g){
input = new File(pathname);
String line;
String buffer = " ";
int x;
int y;
int xprev = 0;
int yprev = 0;
int i;
try{
BufferedReader reader = new BufferedReader(new FileReader(input));
for(i = 0 ; i<54367; i++){
line = reader.readLine();
StringTokenizer st = new StringTokenizer(line);
buffer = st.nextToken();
x = Integer.valueOf(buffer).intValue();
buffer = st.nextToken();
y = Integer.valueOf(buffer).intValue();
if(x <= 0){
i++;
continue;
}
if(x >= 1280){
i++;
continue;
}
if(y <= 0){
i++;
continue;
}
if(y >= 800){
i++;
continue;
}
g.setColor(Color.BLUE);
g.drawLine(x, y, xprev, yprev);
xprev = x;
yprev = y;
}
}
catch(IOException e){
e.printStackTrace();
}
}
public Player() {
myFrame = new JFrame("KoordEyePlayer");
myFrame.setSize(1280, 800);
myFrame.add(this);
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(myFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new neuerEyePlayer();
}
}
Wäre euch sehr verbunden, wenn ihr mir helfen könntet.
MFG