我想要不斷從文本文件中讀取數據,並在讀取特定行時更改畫布上顯示的框的顏色(文本文件將不斷更新)。現在,我在畫布上繪製了一個綠色正方形,文本文件中有三個「測試」線,當它到達文本文件的第三行時,我想將方塊更改爲紅色。從文件中連續讀取並執行操作
這是我的代碼,來自兩個文件(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
如何更新主方法內部的顏色? – kaptaincooke