Assignment4的總結(jié)

本次作業(yè)中,需要?jiǎng)?chuàng)建多個(gè) Agency 來(lái)申請(qǐng)航空公司的航班。在創(chuàng)建的TravelAgency這個(gè)類當(dāng)中,由于每個(gè)Agency可以選擇自己需要的航空公司的航班,所以我們需要給TravelAgency中添加 AirlinerDir,AirlinerDir是用來(lái)保存Airliner對(duì)象的ArrayList。并且需要注意,在每一次new一個(gè)?TravelAgency 以后,都需要?jiǎng)?chuàng)建一個(gè)這個(gè)Agency對(duì)應(yīng)的AirlinerDir。所以使用再Constructor里新建的方式來(lái)避免NullPointerException. 代碼如下。


public class TravelAgency {

? ? private String agencyName;

? ? private AirlinerDir airlinerDir;

? ? public TravelAgency() {

? ? ? ? this.airlinerDir = new AirlinerDir();

? ? }


最剛開(kāi)始犯了一個(gè)錯(cuò)誤,如下:


? ?private TravelAgencyDir travelAgencyDir;

? ? private AirlinerDir airlinerDir;

? ? private FlightDir flightDir;


? ? public MainJFrame() {

? ? ? ? initComponents();

? ? ? ? travelAgencyDir = new TravelAgencyDir();

? ? ? ? airlinerDir = new AirlinerDir();

? ? ? ? flightDir = new FlightDir();

? ? }


在主界面JFrame中,最初我希望把所有的Directory:TravelAgencyDir、AirlinerDir、FlightDir都作為屬性放入到JFrame中,然后在constructor中把它們都實(shí)體化。但是,當(dāng)我在反復(fù)調(diào)試程序中發(fā)現(xiàn),本程序需要多個(gè)相同的Directory,例如很多個(gè)AirlinerDir(因?yàn)橛泻芏鄠€(gè)TravelAgency),固然之前的設(shè)定是錯(cuò)誤的。于是我只把第一個(gè)主界面到它的直接第二頁(yè)面的Directory:TravelAgencyDir創(chuàng)建出來(lái)用來(lái)保存最重要的Agency,其他的Dir都在之后的頁(yè)面再創(chuàng)建。

在添加AirLiner的時(shí)候,我選擇的是對(duì)表格中的Agency選中,進(jìn)入到這個(gè)代理商的頁(yè)面進(jìn)行添加,這樣做的目的是可以讓代理商和航空公司對(duì)應(yīng)上:

TravelAgency ta = (TravelAgency)tblDirectory.getValueAt(selectedRow, 0);

?AirlinerCreateJPanel acPanel = new AirlinerCreateJPanel(userProcessContainer, ta);

把被選中的Agency ta從TA DIR中拿出來(lái),并傳入到航空公司創(chuàng)建頁(yè)面,這樣就可以完成兩個(gè)Dir的連接。當(dāng)我進(jìn)入到航空公司創(chuàng)建頁(yè)面的時(shí)候,我只需要在Create BUTTON下用如下的代碼:

Airliner airliner = travelAgency.getAirlinerDir().addAirliner();

airliner.setAirlinerName(txtAirlinerName.getText());

JOptionPane.showMessageDialog(null, "Created Successfully!");

加粗的代碼是使用TA中嵌套的AirlinerDir的屬性,來(lái)完成一個(gè)實(shí)體化,最終實(shí)現(xiàn)信息保存進(jìn)去。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,822評(píng)論 18 399
  • 09年冬天。從醫(yī)院確定了媳婦懷孕了以后.家中一片喜悅的氣氛。而我沒(méi)有太多的興奮心情。 感覺(jué)這一切都是應(yīng)該的。。結(jié)婚...
    飛龍?jiān)谔霥HL閱讀 255評(píng)論 0 0
  • 前兩天我用有限的時(shí)間寫(xiě)了一篇關(guān)于童年的公眾號(hào)推文。 寫(xiě)的時(shí)候我是想到我自己和我的大外甥了,姐夫工作很忙,幾乎沒(méi)...
    阿hou閱讀 634評(píng)論 0 0
  • 周末去看了剛剛上映的《勇敢者游戲—決戰(zhàn)叢林》。影片講述的是四個(gè)在學(xué)校中性格各異的小孩,機(jī)緣巧合之下穿越到游戲當(dāng)中,...
    雪_snow閱讀 1,448評(píng)論 1 2

友情鏈接更多精彩內(nèi)容