作者kevindd (gg)
看板java
標題Re: [問題] 如何在視窗輸入參數後,繼續執行main?
時間Fri Dec 21 21:59:43 2012
※ 引述《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