Re: [問題] 如何手動觸發隱藏的awt元件呼叫paint()?

看板java作者 (骨頭)時間18年前 (2008/03/02 02:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《eliang ()》之銘言: : ◆ From: 220.132.133.199 : 推 TonyQ:沒有container應該畫出來也看不到吧 03/01 20:08 : → eliang:我的目的不是讓它看得到,只要讓它呼叫到就好了 03/01 20:17 : 推 TonyQ:你可以寫canvas.paint(canvas.getGraphics()); 03/01 20:27 : → eliang:謝謝你,我試了,但在canvas隱藏時, 03/01 21:38 : → eliang:getGraphics()回傳的是null 03/01 21:40 : 推 TonyQ:你不是只想呼叫? 只想呼叫這樣就夠啦XD 03/01 23:26 : → eliang:我希望能執行paint()的程式碼,因為JME(一個 java game 03/02 01:17 : → eliang:engine)把起始化程序放在Canvas子類別的paint()裡,在第一次 03/02 01:20 : → eliang:paint()才做初始化,而我希望初始化在秀到螢幕上前就先做好 03/02 01:22 : → eliang:,所以才想看看有沒有方法可以提早觸發paint()的呼叫 03/02 01:24 讓我舉個有趣的例子給你看 1.你的目的不是看得到,而是呼叫到, 丟null給paint的確是可以呼叫到的, 除非你呼叫的定義跟我呼叫的定義不一樣。XD ──────────────────────────────── for example class MyCanvas extends Canvas{ public void paint(Graphics g){ /*要執行的程式碼*/ System.out.println("hello"); } } MyCanvas canvas = new MyCanvas(); canvas.paint(canvas.getGraphics()); // result : hello ──────────────────────────────── 如果說你的目的中包含有繪圖相關,會被Graphics產生的 NullPointer阻礙的話, 你還有一個下下策可以用,就是寫一個空的Graphics, 然後再丟給canvas的paint。 還是希望你先認知清楚問題啦,有時候問題往往都不是人想的那樣。:) -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.4.20
文章代碼(AID): #17oPu588 (java)
文章代碼(AID): #17oPu588 (java)