1

我正在为大学做一个项目(Java,不是高级!),我们有一条微型铁路,我们正在为它做软件部分。

我有一个技术问题。

所有的classe、methods、ecc都已经做好了,我们要做的就是创建一个扩展。

Mine 是一个 GUI,允许您从铁路中删除或添加火车。

例如,为了添加火车,我有一个带有可能参数的组合框和一个“添加火车”按钮,后面的代码是:

private void addTrainActionPerformed(java.awt.event.ActionEvent evt) {                                         

        //creates a new train with given parameters, it adds it to the railway

        Train t = new Train(id, locomotive);

        railway.getTrains().add(t);

我仍然想念的是“移除火车”部分的代码!

有一个显示现有火车的组合框,您选择一个,然后有一个删除火车按钮,它应该从铁路中删除火车,

现在代码就是这样:

private void removeTrainActionPerformed(java.awt.event.ActionEvent evt) {                                            


        railway.getTrains().remove(selectedTrain);

但有一个问题。有一些 OBSERVERS,如果事件发生,就会触发铁路搜索事件(如火车停止或不在正确的路线上)。

教授说我写的删除火车代码不起作用,因为我们需要杀死我们要删除的火车的所有相关观察者!

他说:

我建议在火车上有一个“isDeleted”变量。删除火车时,将其从铁路中删除,并将变量设置为1。例如,在“OnRouteSecured Observer”中,在此过程中,如果isDeleted==true,则不执行任何操作(返回)。

这就是我需要添加的内容,但问题是我真的不知道如何向火车添加新变量!

为了创建火车,我只使用那里已经存在的构造函数,我不知道是否必须将此变量添加到火车类或哪里!

如果您需要更多信息,我将提供!

希望能帮到你,谢谢!

4

1 回答 1

0

听起来您老师的建议只是向您的对象添加一个 Class 变量。

public class Train {

    private boolean deleted = false;

    public boolean isDeleted() {
        return this.deleted;
    }
}

将来,当您出于某种原因去大学时,我会先与您的助教或教授交谈,然后再在 StackOverflow 上发帖。

于 2013-05-12T12:44:09.483 回答