我是初學java的新手我在重寫的paint方法中加入了一個計時器,想要在繪出文字3秒之后,繪制出新的文字paint部分的代碼如下:@Overridepublic void paint(Graphics g) {// TODO Auto-generated method stubsuper.paint(g);//設置背景顏色為灰色this.setBackground(Color.gray);//屬性設置g.setColor(Color.white);Font fLevel = new Font("黑體", 0, 100);g.setFont(fLevel);//輸出字g.drawString("測試", 280, 300);//暫停三秒鐘Timer t = new Timer(true);t.schedule(new TimerTask() {@Overridepublic void run() {// TODO Auto-generated method stub//用新的矩形覆蓋原來的界面g.setColor(Color.gray);g.fillRect(0, 0, 800, 600);//輸出延遲3秒后的字g.drawString("測試", 20, 20);}}, 3000);然而這樣并沒有什么反應,依舊是原來的文字。我試著將run方法中的代碼改為system.out.println("測試");卻成功地在3秒后輸出了。請問這是什么原因?
請問有什么更簡單容易的方法實現 ?即在繪出一個界面3秒之后,繪制出新的界面?
慕尼黑5688855
2022-05-25 19:15:35