2016-04-08 2 views
-1

Hallo Leute Ich habe dieses Projekt und ich habe ein paar Fragen zu diesem Thema ..Erstes Java-Swing-Projekt. Bin ich auf dem richtigen Weg oder mache ich total etwas anderes?

Hier ist die Aufgabe:

Sie werden gebeten, eine GUI-basierte Anwendung zu erstellen, die die Benutzer Flotten verwalten können von Boote. Die Anwendung ist für eine Fuhrparkmanagementfirma, die Flotten von Booten im Auftrag von verschiedenen Kunden verwaltet.

Eine Flotte besteht aus mehreren Booten. Anfänglich gibt es keine Flotten oder Boote, aber die Anwendung ermöglicht es dem Benutzer, eine Flotte hinzuzufügen. Sie werden dann in der Lage sein, Boote zu einer Flotte hinzuzufügen. Es gibt zwei Arten von Booten: Passagier und Fracht. Jede Flotte hat eine Flottenidentifikationsnummer, der Name der Firma, der die Flotte gehört, z.B. Irish Ferries und null oder mehr Boote. Jedes Boot wird einen Namen haben, z.B. Ulysses und die Anzahl der Mitarbeiter. Darüber hinaus wird jedes Passagierschiff über eine Passagierkapazität verfügen (keine Anzahl von Passagieren, die es befördern kann) und ob es Autos befördern kann oder nicht. Jedes Frachtschiff hat eine Containerkapazität.

Sie sollten eine Bootsklasse erstellen, die zwei Unterklassen von PassengerBoat und FreightBoat hat. Es sollte eine allgemeine FleetManagementCompany-Klasse geben, die beispielsweise einen Namen haben kann. FLeet Mgmt Ltd., enthält höchstens 5 Flotten (Flottenklasse). Die Fleet-Klasse enthält null oder mehr Boote.

Teil A

1. Die GUI-basierte Anwendung sollte dem Benutzer erlauben, ein Flottenmanagement-Unternehmen Datensatz zu erstellen. Theoretisch würde es Ihnen ermöglichen, mehrere Unternehmensdatensätze für Flottenmanagement zu erstellen.

2. Es sollte dem Benutzer erlauben, Flotten von der Flottenmanagementfirma hinzuzufügen/zu entfernen. 3. Es sollte dem Benutzer erlauben, Boote aus Flotten hinzuzufügen/zu entfernen.

Teil B

Die Flottenmanagement-Unternehmen verwaltet auch die Fahrpläne für die Flotten. Es sollte ein festgelegter Satz von Segelrouten und eine feste Anzahl von Segelzeiten und -zeiten geben.

1. sollte die Anwendung der Benutzer sailings ermöglichen, von einer Flotte

2. Sie sind frei für jedes Boot planen Sie Ihre eigene Implementierung der Planungsfunktion zu entwickeln.

Und hier ist das, was ich bisher getan:

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*;import javax.swing.border.TitledBorder; 

public class Boat extends JFrame 
{ 



/// JTextField text = new JTextField("" ,50); 
    private static String labelPrefixs = "Fleets made: "; 
    private static String labelPrefixww = "Boats usbed: "; 
    private static String labelPrefix = "Number of boats added: "; 

    private int numClicks = 0; 
    private int numAmy = 0; 
    JLabel adbf = new JLabel(labelPrefixww + "0 "); 
    JLabel addb = new JLabel(labelPrefix + "0 "); 
    JLabel amys = new JLabel(labelPrefixs + "0 "); 


    public Boat(String title) 
    { 
     super(title); 

     // operation to do when the window is closed. 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(500, 500, 800, 400); 
     JButton back = new JButton("Back to start!"); 
     JButton button = new JButton("Click here to see Fleets!"); 
     JButton book = new JButton("Add Boat!"); 
     JButton del = new JButton("Delete Boat!"); 
     JButton route = new JButton("Get routes!"); 
     final JLabel choss = new JLabel("Choose sea-line"); 
     final JLabel chost = new JLabel("Choose Type of boat"); 
     final JLabel chosb = new JLabel("Choose a boat"); 
     final JButton fer = new JButton("Irish ferries"); 
     final JButton ferr = new JButton("British ferries"); 
     final JButton pass = new JButton("Passanger"); 
     final JButton freig = new JButton("Freight"); 
     final JButton ifer = new JButton("Frank"); 
     final JButton iferr = new JButton("Amy"); 
     final JButton iferrr = new JButton("Jackson"); 
     final JButton addf = new JButton("Make a Fleet"); 


     addf.setFocusPainted(false); 
     pass.setFocusPainted(false); 
     freig.setFocusPainted(false); 
     route.setFocusPainted(false); 
     fer.setFocusPainted(false); 
     ferr.setFocusPainted(false); 
     ifer.setFocusPainted(false); 
     iferr.setFocusPainted(false); 
     iferrr.setFocusPainted(false); 
     button.setFocusPainted(false); 
     back.setFocusPainted(false); 
     book.setFocusPainted(false); 
     del.setFocusPainted(false); 

     JPanel panel = new JPanel(); 
     button.setHorizontalAlignment(JButton.CENTER); 


     JLabel ship1 = new JLabel("<html><p>Owned By: Irish Fleets. <br></br> " + 
            "Class : B. <br></br> " + 
            "Passanger compacity: 300. <br></br> " + 
            "Seats available: 62. <br></br>  "+ 
            "Destination: Wonderland. <br></br> "+ 
            "Transport space: 5 cars. <br></br> "+" </p></html>"); 
     TitledBorder titled = new TitledBorder("Amy"); 
     ship1.setBorder(titled); 
     add(ship1); 

     JLabel ship2 = new JLabel("<html><p>Owned By: Irish Fleets. <br></br> " + 
            "Class : A. <br></br> " + 
            "Passanger compacity: 200. <br></br> " + 
            "Seats available: 26. <br></br>  "+ 
            "Destination: Wonderland. <br></br> "+ 
            "Transport space: 15 cars. <br></br> "+" </p></html>"); 
     TitledBorder titled1 = new TitledBorder("Frank"); 
     ship2.setBorder(titled1); 
     add(ship2); 

     panel.add(chost); 
     panel.add(freig); 
     panel.add(pass); 
     panel.add(book); 
     panel.add(del); 
     panel.add(ship1); 
     panel.add(ship2); 
     panel.add(route); 
     panel.add(button); 
     panel.add(chosb); 
     panel.add(choss); 
     //panel.add(text) 
     panel.add(fer); 
     panel.add(ferr); 
     panel.add(ifer); 
     panel.add(iferr); 
     panel.add(iferrr); 
     panel.add(addb); 
     panel.add(amys); 
     panel.add(adbf); 
     panel.add(back); 
     panel.add(addf); 

     adbf.setVisible(false); 
     amys.setVisible(false); 
     addb.setVisible(false); 
     freig.setVisible(false); 
     pass.setVisible(false); 
     chost.setVisible(false); 
     book.setVisible(false); 
     del.setVisible(false); 
     ship1.setVisible(false); 
     ship2.setVisible(false); 
     route.setVisible(true); 
     back.setVisible(false); 
     choss.setVisible(false); 
     chosb.setVisible(false); 
     fer.setVisible(false); 
     ferr.setVisible(false); 
     ifer.setVisible(false); 
     iferr.setVisible(false); 
     iferrr.setVisible(false); 
     addf.setVisible(false); 

     getContentPane().add(panel); 

     setVisible(true); 

     button.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 

      fer.setVisible(false); 
      ferr.setVisible(false); 
      choss.setVisible(false); 
      button.setVisible(false); 
      back.setVisible(true); 
      route.setVisible(false); 
      chost.setVisible(true); 
      freig.setVisible(true); 
      pass.setVisible(true); 
      amys.setVisible(false); 
      addf.setVisible(false); 
      adbf.setVisible(false); 

      } 
     }); 
     pass.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 

      fer.setVisible(true); 
      ferr.setVisible(true); 
      choss.setVisible(true); 
      button.setVisible(false); 
      back.setVisible(true); 
      route.setVisible(false); 
      chost.setVisible(false); 
      freig.setVisible(false); 
      pass.setVisible(false); 
      amys.setVisible(false); 
      adbf.setVisible(false); 
      } 
     }); 
     fer.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 
      ifer.setVisible(true); 
      iferr.setVisible(true); 
      iferrr.setVisible(true); 
      choss.setVisible(false); 
      chosb.setVisible(true); 
      fer.setVisible(false); 
      ferr.setVisible(false); 
      route.setVisible(false); 
      chost.setVisible(false); 
      freig.setVisible(false); 
      pass.setVisible(false); 
      addb.setVisible(true); 
      amys.setVisible(false); 
      adbf.setVisible(false); 
      addf.setVisible(false); 

      } 
     }); 
     iferr.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 
      ifer.setVisible(true); 
      iferr.setVisible(true); 
      iferrr.setVisible(true); 
      choss.setVisible(false); 
      chosb.setVisible(false); 
      fer.setVisible(false); 
      ferr.setVisible(false); 
      route.setVisible(false); 
      iferr.setFocusPainted(true); 
      ship1.setVisible(true); 
      book.setVisible(true); 
      chost.setVisible(false); 
      freig.setVisible(false); 
      pass.setVisible(false); 
      addb.setVisible(true); 
      ship2.setVisible(false); 
      amys.setVisible(false); 
      adbf.setVisible(false); 
      addf.setVisible(false); 
      } 
     }); 
      ifer.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 
      ifer.setVisible(true); 
      iferr.setVisible(true); 
      iferrr.setVisible(true); 
      choss.setVisible(false); 
      chosb.setVisible(false); 
      fer.setVisible(false); 
      ferr.setVisible(false); 
      route.setVisible(false); 
      ifer.setFocusPainted(true); 
      ship1.setVisible(false); 
      ship2.setVisible(true); 
      book.setVisible(true); 
      chost.setVisible(false); 
      freig.setVisible(false); 
      pass.setVisible(false); 
      addb.setVisible(true); 
      adbf.setVisible(false); 
      amys.setVisible(false); 
      addf.setVisible(false); 
      } 
     }); 

     back.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 
      fer.setVisible(false); 
      ferr.setVisible(false); 
      button.setVisible(true); 
      choss.setVisible(false); 
      back.setVisible(false); 
      chosb.setVisible(false); 
      ifer.setVisible(false); 
      iferr.setVisible(false); 
      iferrr.setVisible(false); 
      route.setVisible(true); 
      ship1.setVisible(false); 
      ship2.setVisible(false); 
      book.setVisible(false); 
      chost.setVisible(false); 
      freig.setVisible(false); 
      pass.setVisible(false); 
      addb.setVisible(false); 
      del.setVisible(false); 
      addf.setVisible(false); 

      } 
     }); 
     addf.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      // System.out.println("" + text.getText()); 
      fer.setVisible(false); 
      ferr.setVisible(false); 
      button.setVisible(true); 
      choss.setVisible(false); 
      back.setVisible(false); 
      chosb.setVisible(false); 
      ifer.setVisible(false); 
      iferr.setVisible(false); 
      iferrr.setVisible(false); 
      route.setVisible(true); 
      ship1.setVisible(false); 
      ship2.setVisible(false); 
      book.setVisible(false); 
      chost.setVisible(false); 
      freig.setVisible(false); 
      pass.setVisible(false); 
      addb.setVisible(false); 
      del.setVisible(false); 
      adbf.setVisible(true); 
      amys.setVisible(true); 
      amys.setText(labelPrefixs + ++numAmy); 
      addf.setVisible(false); 
      adbf.setText(labelPrefixww + numClicks); 
      } 
     }); 

     book.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
       addf.setVisible(true); 
      addb.setVisible(true); 
      addb.setText(labelPrefix + ++numClicks); 
      del.setVisible(true); 
     } 
     }); 

      del.addActionListener(new ActionListener() 
     {//This is known as an anonymous function 
      public void actionPerformed(ActionEvent e) 
      { 
      addf.setVisible(true); 
      addb.setText(labelPrefix + --numClicks); 
      del.setVisible(true); 
      del.setVisible(numClicks > 0); 
      addf.setVisible(numClicks > 0); 
     } 
     }); 
} 
    public static void main(String[] args) 
    { 
     new Boat("SwingApplication"); 






    } 
} 

Mein qestions Sind:

Q1 Frage eins im Titel ist.

Q2 Wenn ein Benutzer eine Flotte von 10 Booten hinzufügt, muss ich "Anzahl der hinzugefügten Boote" auf 0 zurücksetzen.

Q3 Wenn ein Benutzer eine Flotte schafft, könnte die Flotte von 5 amy Booten und 10 frank .. sein, wie dies sichtbar die

Q4 Wenn die Antwort insted „verwendet Boote“ machen Frage 1 ist ja, ich bin auf dem richtigen Weg. Gibt es eine Möglichkeit, den Code etwas kleiner zu machen? weil ich immer noch Sachen hinzufüge und es wird nur größer und verwirrender.

Q5 Ich habe mir einige Stack Overflow Foren angesehen, um zu sehen, wie man in Jlabel einen Zeilenumbruch macht. Sie sagten, Sie können das nicht tun, aber Sie können HTML hinzufügen und ein (br) machen. Gibt es eine Möglichkeit, HTML nicht zum Zeilenumbruch zu verwenden? mein freund hat es geschafft, ich habe versucht seinen code zu bearbeiten und es hat nicht funktioniert für mich.

Danke Jungs! Jede Hilfe wird geschätzt.

+0

Also, was genau ist dein Problem? – kirkpatt

+0

Was funktioniert nicht mit dem, was Sie haben? – kirkpatt

+0

Vielleicht fügen Sie zwei int-Werte hinzu, die erhöht werden, wenn eine der Schaltflächen angeklickt wird, eine für die Orangen und eine für die Äpfel? – MadProgrammer

Antwort

-2

Es kann bedeuten, dass Sie Krebs haben, aber ich kann falsch liegen. Besuchen Sie Ihren Arzt so schnell wie möglich. Viel Glück Nasus

Verwandte Themen