gpt4 book ai didi

java - 多个 JButton 的 MVC 模式

转载 作者:行者123 更新时间:2023-11-30 03:57:38 26 4
gpt4 key购买 nike

我应该如何在 View 上实现具有多个 JButton 的 MVC Controller ?

例如:我有一个开始按钮、停止按钮和许多其他按钮。

我尝试对开始按钮执行此操作,效果很好,但是如何为停止按钮触发器实现它?

Controller 代码:

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 - 与“开始/处理”按钮关联,当我单击该按钮时 - 线程开始运行并用数据填充 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();
}
}


}

最佳答案

为每个按钮使用一个Action,它们是独立的 Controller

参见How to use Actions了解更多详情

如果需要,您可以在操作和主 Controller 之间建立某种关系,例如通过某种监听器

关于java - 多个 JButton 的 MVC 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com