这是我第一次在 stackoverflow 上发帖,请多多包涵。
我决定用java编写一个程序,它读取一个包含诸如“蓝色”、“绿色”、“红色”之类的文本的文件,然后在我的JFrame上绘制它们所指示的颜色的正方形,并根据它们的位置在文本文件中。我不确定这对某人是否有意义,但它只是突然出现在我的脑海中,我就像“嘿,我想我会试试这个。”
基本上我想让我的 JFrame 的第一行有 3 个正方形(红色、蓝色、绿色)。然后我的下一行有 3 个正方形(蓝色、绿色、红色)。然后是最后一个(绿色、红色、蓝色)。
首先我的文本文件是这样的:
红色 蓝色 绿色
蓝色 绿色 红色
绿色 红色 蓝色
现在我将发布代码。我不是 100% 确定错误是什么,我一直在 eclipse 中运行它,它并没有真正告诉我任何有用的信息,我知道该怎么做。
import java.util.*;
import java.awt.*;
import java.io.File;
import javax.swing.*;
public class Test extends JFrame {
int currentY = 0;
int currentX = 0;
static Scanner squares;
private final static Graphics graphics = null;
Test(Graphics graphics) {
this.setVisible(true);
this.setSize(400, 400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
while (squares.hasNextLine()) {
Scanner row = new Scanner(squares.nextLine());
while (row.hasNext()) {
System.out.println(row.next());
if (row.next().equals("green")) {
graphics.setColor(Color.GREEN);
}
else if (row.next().equals("red")) {
graphics.setColor(Color.RED);
}
else {
graphics.setColor(Color.BLUE);
}
graphics.fillRect(currentX, currentY, 20, 20);
currentX += 20;
}
currentY += 20;
}
}
public static void main(String[] args) throws Exception {
squares = new Scanner(new File ("C:/Test/data.txt"));
Test test = new Test(graphics);
}
}