看板 java 關於我們 聯絡資訊
※ 引述《popcorny (畢業了..@@")》之銘言: : 發現真的很多人想要在main去拿UI的資料耶... : 我隨便寫一個...拿去用用看 : https://gist.github.com/4351530 感謝這位板友的回應 我原來的程式是將事件處理寫在TextFieldGUI.java的listener裡 //負責各種元件和listener public class TextFieldGUI extends JFrame { private JButton queryButton, addButton, updateButton, delButton; . . . queryButton = new JButton("查詢"); componentList.add(queryButton); queryButton.addActionListener(new QueryButtonListener()); addButton = new JButton("新增"); componentList.add(addButton); addButton.addActionListener(new AddButtonListener()); . . . //實作QueryButton listener class QueryButtonListener implements ActionListener { public void actionPerformed(ActionEvent evtnt) { //當user按下Button後 呼叫對應的QueryProcessing類別處理, //textValue為textFiled值 QueryProcessing queryP = new QueryProcessing(textValue); . . . } } //實作AddButton listener class AddButtonListener implements ActionListener { ... } } //負責QueryButton處理方法 public class QueryProcessin {...} 因為我在網路上看到所謂的MVC架構 所以才想到讓TextFieldGUI.java單純接收和回傳value 當作view 由Main.java透過get method接收TextFieldGUI.java的value 並根據不同的button呼叫對應的類別如 QueryProcessing.java 當作control 像QueryProcessing.java就是負責處理queryButton的model 但是就發生Main thread一直執行下去的問題 根據板友的說明 在主程式呼叫似乎很不可取 有方法能像我想的用MVC架構來寫這程式嗎?如果有的話希望能多加提點 或者我想的是錯誤的 請各位板友指教 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.226.23.229
plover:這與 MVC 無關。main thread 一方面處理UI,一方面處理資料 12/22 00:17
plover:,有時必須同時做,這樣未免也太忙了。 12/22 00:22
ssccg:MVC不是這樣,這情境下controller應該是負責listen的class 12/22 00:52
ssccg:應該另外寫一個class,在那個class中設定各UI元件的listener 12/22 00:56
ssccg:在這架構下main只是進入點,把mvc的各物件建立後就讓他們自 12/22 01:01
ssccg:己去互動,把main看成主程式(控制者)代表想法還卡在程序導向 12/22 01:04