作者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
1F:推 plover:这与 MVC 无关。main thread 一方面处理UI,一方面处理资料 12/22 00:17
2F:推 plover:,有时必须同时做,这样未免也太忙了。 12/22 00:22
3F:→ ssccg:MVC不是这样,这情境下controller应该是负责listen的class 12/22 00:52
4F:→ ssccg:应该另外写一个class,在那个class中设定各UI元件的listener 12/22 00:56
5F:→ ssccg:在这架构下main只是进入点,把mvc的各物件建立後就让他们自 12/22 01:01
6F:→ ssccg:己去互动,把main看成主程式(控制者)代表想法还卡在程序导向 12/22 01:04