【发布时间】:2014-03-29 20:41:42
【问题描述】:
我应该如何在视图上实现一个带有多个 JButton 的 MVC 控制器?
例如:我有一个开始按钮、停止按钮和许多其他按钮。
我尝试为开始按钮执行此操作,它工作正常,但我如何为停止按钮触发器实现它?
控制器代码:
public MVCAuctionController(Auction a, MVCAuctionView v) {
auction = a;
view = v;
view.addProcessBidsListener(new ProcessBidsController());
view.addStopProcessListener(new StopBidsController());
}
class ProcessBidsController implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
view.disableProcessButton();
Thread thread = new Thread (auction);
thread.start();
}
}
addProcessBidsListener - 与 START/Process 按钮相关联,当我单击该按钮时 - 线程开始运行并用数据填充 JTextArea。
现在我的停止按钮应该停止线程。为此,如果我做这样的事情它实际上并没有停止线程:
class ProcessStartController implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == view.start){
view.disableStartButton();
new Thread (rest).start();
//thread.start();
System.out.println("inside action performed of start button");
view.kitchen.append("Orders to kitchen");
}
else if (e.getSource() == view.stop)
{
new Thread (rest).interrupt();
}
}
}
【问题讨论】:
-
看起来您已经开始进行一些不错的设置了。你具体有什么困惑?
-
addProcessBidsListener - 与 START/Process 按钮相关联,当我单击按钮时 - 线程开始运行并用数据填充 JTextArea。
标签: java design-patterns model-view-controller