16. november 2003 - 16:03Der er
4 kommentarer og 1 løsning
Indhent kordinater fra fil
Jeg er ved at lave et program hvor jeg henter nogle kordinater fra en fil, og så laver dem om til figure i et program. Kan bare ikke rigtig få det til at fungere...
FileReader fr = new FileReader("myfile.txt"); BufferedReader br = new BufferedReader(fr);
record = new String(); while ((record = br.readLine()) != null) {
int[] ia = new int[record.length()]; for(int i = 0; i < 10; i++) { int f = i * 2; g.drawString("test",200,f); } }
} catch (IOException e) {
e.printStackTrace(); }
} }
Mit problem er at få det til at stå rigtig på skærmen. Jeg er ikke så hård til java, men vil mene, at 0,0 i drawString er øverst til venstre, men skriver jeg 0,0 går den så langt til venstre, at jeg ikke kan se det der står? Kan i se hvad der er galt, eller måske fortælle mig lidt om drawString?
Du skal betragte din skærm/frame som er koordinatsystem, 0,0 (x,y) er punktet længst til venstre og helt i top, desto større værdi x har, jo længere mod højre starter du med at skrive og desto større værdi y har, nærmer du dig bunden af skærmen/framen
Punkt 0,0 ligger helt ude til venstre oppe bag titellinien i din frame
Prøv at rette din for løkke til nedenstående og se forskellen
for(int i = 0; i < 10; i++) { int f = i * 10 + 50; g.drawString( record,100,f); g.drawString("Test",100,100); }
Prøv at køre nedenstående eksempel, det fremmer måske forståelsen. Her kan du se at øverste linie starter bag titellinien
import java.awt.*;
class FileRead extends Frame {
public FileRead(){ super("drawString metoden"); setSize(500,500); } public void paint(Graphics g){ int x = 0, y = 0; for(int i = 0; i < 10 ; i++){ y = i * 5;
g.drawLine(x, y,150, 150 + i * 20); g.drawString("Linien starter i X,Y: " + x + "," + y + " og slutter i X,Y: " + (x + 155) + "," +(150 + i * 20), 155, 150 + i * 20); } }
public static void main(String args[]){ new FileRead().show(); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.