私は大学向けのプロジェクトを行っています (Java、高度ではありません!) 、ミニチュア鉄道があり、そのソフトウェア部分を行っています。
技術的な質問があります。
すべてのクラス、メソッド、ecc は既に完了しており、あとは拡張機能を作成するだけです。
私のものは、鉄道から列車を削除または追加できる 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);
私がまだ見逃しているのは、「REMOVE A TRAIN」部分のコードです!
既存の列車を表示するコンボ ボックスがあり、1 つを選択すると、[DELETE TRAIN] ボタンがあり、鉄道から列車を削除する必要があります。
今のところ、コードは単純に次のとおりです。
private void removeTrainActionPerformed(java.awt.event.ActionEvent evt) {
railway.getTrains().remove(selectedTrain);
しかし、問題があります。イベントが発生した場合にトリガーされるイベント(列車が停止した、または正しいルートにないなど)を検索する鉄道を監視するオブザーバーがいくつかあります。
教授は、削除したい列車に関連するすべてのオブザーバーを強制終了する必要があるため、私が書いた列車の削除コードが機能しないと言いました。
彼は言った:
私が提案するのは、列車に「isDeleted」変数を含めることです。列車を削除する場合は、鉄道から削除し、変数を 1 に設定します。たとえば、「OnRouteSecured Observer」では、その過程で、isDeleted==true の場合、何もしない (戻る) ようにします。
それが私が追加する必要があるものですが、問題は、列車に新しい変数を追加する方法が本当にわからないということです!!
列車を作成するために、すでにそこにあるコンストラクターを使用するだけです。この変数を列車クラスに追加する必要があるかどうか、またはどこに追加する必要があるかはわかりません。
さらに情報が必要な場合は、私が提供します!
あなたが助けてくれることを願っています、ありがとう!