Announcement

Collapse
No announcement yet.

JComboBox "befüllen"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JComboBox "befüllen"

    Hallo zusammen,

    ich bin eine absolute Anfängerin in Java. Daher erstamal vielen vielen Dank für eure detaillierten Antworten!

    Ich entwickle gerade ein Kino-Verwaltungssystem. Der Anwender soll auf eine JComboBox klicken und den gewünschten Film auswählen. Diese "Text Inhalte" sollen im Background von einer List aberufen werden.
    Mein Problem:
    1. Wie erstelle ich erst einmal diese Liste
    2. speichere darin den Inhalt (Film xy, Saal XY) (mehrere Filme zur Auswahl)
    3. und rufe nun die ganzen Filmtitel in der JComboBox auf?

    Herzlichen Dank für's Antworten!

    Ms.Java

  • #2
    Arbeiten mit einer JComboBox
    http://java.sun.com/docs/books/tutor.../combobox.html

    1 & 2 sind unverständlich. Was für eine Liste? Aus einer DB? Aus dem Interface List?

    Des Weiteren weiss man nicht woher deine Daten kommen. Somit kann auch nix sagen, wie die irgenwo reinkommen.

    Im einfachsten Fall (Netbeans vorausgesetzt) kannst du alles visuell entwerfen und dabei die Daten eingeben. Wenn die Daten aus einer DB oder woanders her kommen muss man das halt programmieren
    Christian

    Comment


    • #3
      erstmal danke für's antworten!

      also der benutzer kann aus einer liste, mithilfe der jcombobox, einen der derzeit angebotenen filme auswählen.
      mit auswahl des filmes, soll dann der rest (kinosaal, ab x jahren, ...) angezeigt werden.

      das problem soll ohne db gelöst werden. ich möchte eine einzige klasse machen, in der die informationen zu jedem film gespeichert werden.

      ich weiß jedoch nicht wie ich die informationen speichern soll und dann auf die jcombobox verweise.
      könnt ihr mir sagen, wie ich das realisieren soll? schreibt bitte einen beispiel code als hilfsstütze. danke!!

      Comment


      • #4
        Dann musst du alle deine Instanzen deiner Klasse die die Filmdaten enthalten in einer Liste speichern (-> ArrayList http://java.sun.com/j2se/1.4.2/docs/...ArrayList.html)

        Um die JComboBox zu erzeugen musst du die ArrayList durchlaufen und den Filmnamen aus den Klasse lesen und der Combobox hinzufügen

        Könnte dir ein Demo erstellen
        Zuletzt editiert von Christian Marquardt; 16.05.2009, 15:42.
        Christian

        Comment


        • #5
          http://www.marquardtnet.info/cecke/l...plication1.zip

          Ist das Demo

          Der Ordner src enthält die Sourcedateien

          Der Ordner dist enthält das ausführbare Programm (Doppelklick auf die JAR-Datei oder Readme.txt lesen)
          Christian

          Comment


          • #6
            hey, vielen dank!!!

            jetzt klappt's bei mir fast.
            ich hab jedoch 3 klasse:
            1.) Film - Klasse (get/set Methoden) - wie in deiner
            2.) eine Klasse, in der alle Filme gespeichert werden
            3.) die gui

            jetzt funktioniert die for-schleife (in der gui klasse) nicht (filmliste wird rot unterkringelt)
            for (Film film : filmliste) { ...
            wie bekomme ich das jetzt hin?!

            sorry, mag vllt. für dich/euch ein einfaches problem sein, aber ich komm einfach nicht weiter! :-|

            Comment


            • #7
              Kann ich nicht sagen bin kein Hellseher...muss wohl an 2. liegen

              Auf deine PN:

              Die IDE muss dir den Fehler doch sagen.

              1.) Film - Klasse (get/set Methoden) - wie in deiner
              2.) eine Klasse, in der alle Filme gespeichert werden
              3.) die gui
              Der Code in der PN entsprach dem aber nicht

              Du hattest

              Eine Klasse FilmDatenALL zur Speicherung eines Filmes
              Klasse Filme -> die GUI ??
              Zuletzt editiert von Christian Marquardt; 17.05.2009, 05:48.
              Christian

              Comment


              • #8
                vllt. schaust du einfach mal eine blick drauf.
                ich komme einfach nicht weiter. danke!
                http://nanne89.na.funpic.de/Java/Verwaltung.zip

                Comment


                • #9
                  Die Klasse Reservierung kennt kein Object filmliste

                  Ergänze die Klasse Filme um einen Getter für die Filmliste

                  Das löst das Problem leider nur zu 50%

                  Dann hast du das Problem, dass du keine Instanz der Klasse Filme in der Klasse Reservierung hast. Das Problem hast du generell, wie du die Modelldaten in die GUI-Klassen bekommst. Von der Klasse Filme existiert keine Instanz.

                  Entweder du holst dir Instanzen über dein Menü oder machst die Klasse Filme zu einer Singelton Klasse. Würde letzteres empfehlen. Dann kannst du von deiner Reservierungsklasse darauf zugreifen
                  Christian

                  Comment


                  • #10
                    die klasse filme habe ich nun um einen getter für die filmliste erweitert.
                    leider verstehe ich nicht, wie du das mit der instanz meinst, dies auf das menü zu ziehen?
                    kannst du mir hier zu ein bsp. geben?

                    Comment


                    • #11
                      Wie willst du von deinen Klassen Reservierung, Kasse u.a. auf die Klasse Filme zugreifen?
                      Und wie willst du immer auf die eine mögliche Instanz zugreifen?

                      http://de.wikipedia.org/wiki/Singlet...ierung_in_Java
                      Christian

                      Comment


                      • #12
                        weshalb funktioniert es nicht mit import daten.Filme??
                        und zu Singleton, muss ich das zusätzlich anlegen und wenn ja, wo und wie verweise ich auf meine angelegten Film-Objekte?

                        Comment


                        • #13
                          import teilt dem Compiler nur mit wo er die Klasse findet. Es erspart dir nur den vollqualifizierten Namen zu schreiben, wenn du die Klasse benutzt.

                          Das ist NICHT zusätzlich anzulegen. Die Klasse FILME wird zu einem Singleton gemacht

                          Das sieht dann so aus:

                          Code:
                          package daten;
                          import java.util.ArrayList;
                          import daten.film.FilmDatenAll;
                          public class Filme
                          {
                          private static Filme instance;
                          private ArrayList<FilmDatenAll> filmliste=new ArrayList<FilmDatenAll>();
                          private Filme()
                              {
                              FilmDatenAll f1=new FilmDatenAll();
                              f1.setName("Film 1");
                              FilmDatenAll f2=new FilmDatenAll();
                              f2.setName("Film 2");
                              filmliste.add(f1);
                              filmliste.add(f2);
                              }
                          public synchronized static Filme getInstance()
                              {
                              if(instance==null)
                                  {
                                  instance=new Filme();
                                  }
                              return instance;
                              }
                          public ArrayList<FilmDatenAll> getFilmliste()
                              {
                              return filmliste;
                              }
                          }
                          In der Klasse Reservierung dann

                          for(FilmDatenAll filmDatenAll:Filme.getInstance().getFilmliste())
                          {
                          deftFilm.addElement(filmDatenAll.getName());
                          }
                          Zuletzt editiert von Christian Marquardt; 17.05.2009, 05:47.
                          Christian

                          Comment


                          • #14
                            klasse, es funktioniert!

                            DANKE!!

                            Comment

                            Working...
                            X