Je suis un débutant en Java. Je travaille sur une mission dans laquelle je lis les commandes du fichier et dessine les formes sur jpanel. le fichier est commefonction de peinture personnalisée en Java
FRAME 200 100 // open a frame, note: parser must ignore any comments
COLOR 255 0 0 // set color to red
RECTANGLE 20 30 40 20 // draw a red rectangle
COLOR 128 128 128 // set color to gray
CIRCLE 100 50 25 // draw a gray circle
FRAME 100 100 // open a second frame
COLOR 0 0 255 // set color to blue
ELLIPSE 50 50 30 20 // draw a blue ellipse
COLOR 0 255 0 // set color to green
LINE 10 20 90 80 // draw a green line
j'ai écrit le code suivant.
JFrame frame = new JFrame("JFrame Source Demo");
frame.setTitle("Drawing Graphics in Frames");
frame.setBounds(100,50,500,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
///////////////////
File file = new File("Paint_instruction.txt");
// Get data from this file using a file reader.
FileReader fr = new FileReader(file);
// To store the contents read via File Reader
BufferedReader br = new BufferedReader(fr);
//writer to write in file
while((data = br.readLine()) != null)
{
/*String[] tokens = data.split("\\s{1,}");
for(int i=0;i<tokens.length;i++)
{System.out.println(tokens[i]);}*/
String []tokens = data.split("\\s{1,}");
if(tokens[0].equals("FRAME"))
{JFrame frame2 = new JFrame("JFrame Source Demo");
frame2.setBounds(0, 0, 40, 40);
frame2.setVisible(true);
}
else if(tokens[0].equals("RECTANGLE"))
{
//draw circle
}
else if(tokens[0].equals("CIRCLE"))
{
//draw circle
}
else if(tokens[0].equals("LINE"))
{
//draw Line
}
else if(tokens[0].equals("ELLIPSE"))
{
//draw ELLIPSE
}
Je ne sais pas comment utiliser la fonction de peinture pour dessiner ces formes. J'ai essayé de passer le tableau à la fonction de peinture. Mais cela n'a pas fonctionné. Je l'ai gogglé mais je n'ai trouvé aucune aide appropriée
Vous devriez essayer de faire votre tâche par vous-même. De cette façon, vous seriez beaucoup mieux. – skuntsel
Je suggère que vous ne devriez pas lire un fichier dans n'importe quelle méthode de peinture, comme vous voulez que ceux-ci soient aussi rapides que vous pouvez le faire – MadProgrammer