텍스트 파일에서 계속 읽으며 특정 줄을 읽을 때 캔버스에 표시된 상자의 색을 변경하고 싶습니다 (텍스트 파일이 계속 업데이트 될 예정 임)). 지금은 캔버스에 그린 사각형과 텍스트 파일에있는 세 개의 "테스트"라인이 있으며 텍스트 파일의 세 번째 줄에 도달하면 사각형을 빨간색으로 변경하고 싶습니다.파일에서 지속적으로 읽은 다음 작업 수행
두 파일 (myCanvas.java 및 myFileReader.java)의 코드입니다. 올바른 방향의 모든 점을 크게 높이 평가합니다.
public class myCanvas extends Canvas{
public myCanvas(){
}
public void paint(Graphics graphics){
graphics.setColor(Color.green);
graphics.fillRect(10, 10, 100, 100);
graphics.drawRect(10,10,100,100);
}
public static void main(String[] args){
myCanvas canvas = new myCanvas();
JFrame frame = new JFrame("Live GUI");
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(canvas);
frame.setVisible(true);
myFileReader read = new myFileReader();
read.readFromFile();
if(myFileReader.strLine == "This is the third line."){
//change color
}
}
public class myFileReader{
public static String strLine;
public void readFromFile()
{
try{
FileInputStream fstream = new FileInputStream(System.getProperty("user.dir")+"\\sample.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while (true){
strLine = br.readLine();
if(strLine == null) {
Thread.sleep(1000);
}
}
}
catch (Exception ex){
System.err.println("Error: " + ex.getMessage());
}
}
}
무엇이 문제입니까? – user845279
main 메서드 내부에서 색을 어떻게 업데이트합니까? – kaptaincooke