Készítsd el a Raktar osztályt, amely egy raktárat ábrázol. A raktárban árukat tárolunk, az Aru osztály példányait, melyeknek neve (szöveg) és mennyisége (törtszám) van. Az osztály tartalmazzon egy főprogramot, amely elinduláskor a következő tevékenységeket végzi. 1. A raktárat feltölti kezdetben a parancssorban megadott paraméterek szerinti árukkal. 2. Elkezd hálózati kapcsolatra várni az első és a második parancssori paraméterben megadott porton. Az első porton beszállítók (egyszerre akár több is), a második porton más raktárak (egyszerre legfeljebb egy) kapcsolódnak. 3. Grafikus felületet ad a tevékenységekhez, ennek leírását lásd lent. A parancssori paraméterek (a harmadik paramétertől kezdve) áru-mennyiség párokat tartalmaznak. Pl. ha a parancssori paraméterek "12345 12346 alma 10 körte 20 cipő 32", akkor a raktár kezdetben 10 almát, 20 körtét és 32 cipőt tartalmaz, és az 12345 és 12346 porton vár kapcsolatra. Ha pontosan három parancssori paraméter adott, akkor a harmadik egy fájl neve, amely az áru-mennyiség párokat tartalmazza. Pl. "12345 12346 arumennyiseg.txt". A felület a következő elemeket tartalmazza: - a készletek listája: név és mennyiség feltüntetésével - kapcsolódás másik raktárhoz - beviteli mező: a másik raktár szerverének neve - beviteli mező: a másik raktár szerverének portja - kapcsolódást kezdeményező gomb - ha egy másik raktárral él a kapcsolat, ezek ne legyenek elérhetőek - eseménynapló - minden megtörtént eseményt egy-egy sorral leíró szövegdoboz Eseményeket a következők válthatnak ki: - egy Beszállító árut hoz be/visz ki - raktárkapcsolódás - egy másik raktár kapcsolódik - a raktár kezdeményez kapcsolatot egy másik raktárral A Beszállító osztály egyetlen főprogramot tartalmazzon. A parancssor a következőket tartalmazza: "SZERVER PORT TERMÉK MENNYISÉG IDŐ" A főprogram kapcsolódjon a parancssorban kapott szerverre és portra, és egyetlen sornyi üzenetet küldjön el szövegesen. Az üzenet tartalma legyen "be TERMÉK MENNYISÉG IDŐ" vagy "ki TERMÉK MENNYISÉG IDŐ" attól függően, hogy a parancssorban kapott mennyiség pozitív-e. A raktár várjon az IDŐben megadott hosszan (másodpercek), utána pedig próbálja meg betenni/kivenni a kívánt áruból a megadott mennyiséget. Válaszként küldje vissza a "sikerult" vagy "nem sikerult" szöveget. A raktár tudja több beszállító kérését párhuzamosan kezelni. Ha egy másik raktár kapcsolódik, akkor a felületen minden áru adatai mellett jelenjenek meg a kapcsolódó raktár mennyiségei; azok az árufajták is jelenjenek meg, amelyekből csak a másik raktárban van készlet. Az árufajtákhoz a két raktár árumennyisége között jelenjen meg továbbá egy csúszka (JSlider), amelyet állítva lehessen árut mozgatni a két raktár között. Az árumennyiség változása jelenjen meg mindkét raktár felületén (ehhez a raktáraknak kommunikálniuk kell egymással). Ha egy áruból a készlet nullára csökken, és nincsen éppen kapcsolódó másik raktár, akkor az árufajtát ne jelezze ki a felület. A beszállítók akkor is beszállíthatnak/elvihetnek árukat, ha a raktárhoz egy másik raktár kapcsolódik. Egy raktár egyszerre legfeljebb egy másik raktárral lehet kapcsolatban.