Re: [問題] 請問有辦法把JPanel當參數傳嗎?

看板java作者 (痞子軍團團長)時間14年前 (2011/11/08 09:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
不好意思,小的意思是這樣的... ※ 引述《m13m13m (奇怪 還沒收到??)》之銘言: : 不好意思: : 小的意思是這樣的... 因為書上/網路上看到的都是長這樣的 : 畫圖: 以下為原 po 張貼程式碼的部份 剛剛不小心刪掉 package 宣告的部份 程式碼完全沒有半點註解 單純就這個階段,違反 4.2 : public class InputDialog2 : { : public static void main(String[] args) : { : InputDialog2Frame f=new InputDialog2Frame(); : f.setVisible(true); : } : } : class InputDialog2Frame extends JFrame : { : InputDialog2Frame() : { : super( "InputDialog2 "); : setDefaultCloseOperation(EXIT_ON_CLOSE); : setLocation(400,300); : setSize(300,200); : ButtonPane p=new ButtonPane(); : Container c=getContentPane(); : c.add(p); : } : } : class ButtonPane extends JPanel : { : String input= " "; : ButtonPane() : { : JButton click=new JButton( "click me "); : add(click); : click.addActionListener(new ActionListener() : { : public void actionPerformed(ActionEvent e) : { : input=JOptionPane.showInputDialog(this, "Please input something "); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : repaint(); : } : : }); : } : protected void paintComponent(Graphics g) : { : super.paintComponent(g); : g.drawString(input, 50,100); : } : } 好,到了下面這個部份 原 po 提出了一句話,彷彿說明了他對上面這些 code 的理解 但是... 真的嗎? 文章標題都下「請問有辦法把JPanel當參數傳嗎?」 那要怎麼解釋原 po 的這句程式碼? input=JOptionPane.showInputDialog(this, "Please ....."); ^^^^ : 簡單來說 就是畫圖的method: paintComponent() : 一定要放在繼承JPanel的class裡面 才能劃劃 ^^^^ 錯字 再者,下面這堆文字(需求)跟上頭那段程式碼,可以說完全無關 所謂無關的意思是無法用該段程式碼當作針對下面這段需求所作的努力 講的更白話一點,原 po 想要做到下面這些需求 但是卻看不出嘗試過哪些努力、有哪些需求以後的疑惑點 甚至連貼上來的程式碼都沒有先讀通 只是因為帳面上彷彿沒有違反版規 4.1 + 4.2 所以只給予鎖文處理 : 但是我想要把JPanel 當成參數傳給畫圖method 讓畫圖的method 在上面畫畫 : OR : 或是把JPanel 和 畫圖的method 拆開 我就是不能把畫圖的方法寫在JPanel裡面 : ,可是這樣一來,Graphics g一劃,就不知道要畫到哪去... ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 語意不明 : 因為每個不同的class有不同的劃法阿! 我只能在適當時call用該劃此元件 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 語意不明 : 的method阿...不能只有一個paintComponent阿... : 好痛苦阿xd... 為什麼 Google 大家都寫得一樣 T-T : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.115.155.193 : 推 chchwy:當然可以傳阿 為什麼不能傳 11/07 02:08 : 推 PsMonkey:你有沒有先試試看再過來問? 11/07 09:24 有除了原 po 以外的人可以解釋 我這句話到底哪裡凶了? : → m13m13m:有阿 樓上你口氣是怎樣? 版主可以那麼兇嗎? 11/07 18:32 : → m13m13m:幾乎得不到答案的版 管理方式又囉哩八縮的 一直殺我文章 k 11/07 18:34 有更多人文章連 s 都看不到,就直接消失進精華區了 以這個角度來說,我還對你有比較好的差別待遇 [無誤] : → Aussie0117:因為問的問題深度不夠...所以...請私下寄信問問好了 11/07 22:27 深度不夠? 我不確定 Aussie0117 的深度是指什麼 不過還麻煩請先移駕到精華區 z-2-4 來對「問題深度」達成共識 我向來都是只看文章 or 問題的「準備度」 而不是問題的難 or 易 就像這篇這個問題,我覺得還蠻麻煩的 因為 Swing 的 paint() 機制對我這種白痴腦袋來講,有點複雜 所以後來都慫恿案主用 GWT 當介面 [無誤] 以上,報告完畢 -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.3.81
文章代碼(AID): #1Ek8ST4p (java)
文章代碼(AID): #1Ek8ST4p (java)