[問題] 讓class和GUI溝通

看板java作者 (某數..失業中)時間12年前 (2011/10/05 02:10), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/3 (看更多)
我寫了一個小程式 裡面的文字出來的方式都是System.out.print 最近學了Swing 於是我又寫了一個JFrame來讓這隻程式擁有GUI介面 但是問題來了 我左想右想也想不到 該怎麼讓我本來的class裡 藉由System浮出來的文字 變成在GUI裡顯示呢 應該把class包在GUI的建構子裡面嗎 這樣的話又要怎麼讓GUI跟class溝通呢 舉例來說如果我想讓Sysout的內容都能跑去JLabel 該怎麼寫才對 請各位指點指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.178.100

10/05 08:09, , 1F
#1EMkTlcE 把sysout變成String,不知道可不可行
10/05 08:09, 1F
其實就是一個download 程式 我在class裡封裝了下載檔案用的function 可是現在用GUI時我想讓這個class可以顯示我下載進度到哪這樣 好難找~"~

10/05 11:17, , 2F
在JFrame or JPanel內new一個你的class的object就行了
10/05 11:17, 2F
後來我的作法是 class downloader extends JTextArea { public download(String url) { ... super.setText( super.getText + ... ); } } 這樣就可以保持封裝 code寫起來也很漂亮 因為我的downloader裡面是用for(File file : fileList) 在跑 所以用一般的return作不出來即時顯示訊息 在downloader裡new JFrame又會破壞整體的封裝性 讓code變得很難看 ※ 編輯: x000032001 來自: 219.87.178.100 (10/05 15:55)
文章代碼(AID): #1EYqmYU0 (java)
文章代碼(AID): #1EYqmYU0 (java)