Bestimmtes Objekt einer ArrayList in einer Methode selektieren

Castelexhd

Mitglied
Hallo,
ich hoffe, dass mir jemand bei diesem Problem weiterhelfen könnte und zwar möchte ich einen Art "Raumplaner" programmieren. Ich habe bereits ein GUI erstellt und man kann mehrere Objekte mittels eines Arrays erstellen. Nun möchte ich aber dass sich stuhl 2 um z.B. 20 Felder nach rechts bewegt. Die Methode hab ich auch schon, nun ist die Frage aber, wie ich das spezifische Objekt damit verbinden kann?

LG

P.s. Hat jemand nen Vorschlag wie man markieren kann, welches Objekt ausgewählt wurde?
 

Castelexhd

Mitglied
Ich sende euch einfach mal meinen Quelltext. :)

Also Stuhl 2 ist z.B. das zweite Stuhlobjekt, man kann ja mehrere Stühle generieren.

Bei der Methode "bewegeHorizontal" habe ich das schon einmal versucht:
Java:
public void bewegeHorizontal(int entfernung, int objektNr)
      {
     
        StuhlAuswahl[] stuhl[];
        stuhl[objektNr] = objektNr;
      
        loesche();
        xPosition += entfernung;
        zeichne();
      }
Java:
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Shape;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
import java.util.ArrayList;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;


public class StuhlAuswahl extends JFrame implements ActionListener {

  
      private int xPosition;
      private int yPosition;
      private int orientierung;
      private String farbe;
      private boolean istSichtbar;
      private int breite;
      private int tiefe;




/**
     *
     */
    private static final long serialVersionUID = 1L;
        String[] SesselAussuchen = {"Rot","Blau","Schwarz"};
        JComboBox<?> comboSesselAussuchen = new JComboBox<Object>(SesselAussuchen);
        JLabel lblText = new JLabel();
      
      
      
      
  
  
    public static void auswahlbox(){
        StuhlAuswahl fr = new StuhlAuswahl(null);
        centerFrame(fr);
        fr.setVisible(true);
      
      
    }

  

    private static void centerFrame(StuhlAuswahl fr) {
        // TODO Auto-generated method stub
      
    }



    public StuhlAuswahl(String farbe){
        setLayout(new FlowLayout());
        setSize(400,300);
        setTitle("Wähle die Farbe deines Stuhls");
        add(comboSesselAussuchen);
      
      
      
        DerHandler handler = new DerHandler();
        comboSesselAussuchen.addActionListener(handler);
      
        xPosition = 160;
        yPosition = 80;
        orientierung = 0;
        istSichtbar = false;
        breite = 40;
        tiefe  = 40;
        this.farbe = farbe;
      
              
      
    }
  
    public class DerHandler implements ActionListener{
  
    public void actionPerformed(ActionEvent e){
        if(e.getSource()==comboSesselAussuchen){
            JComboBox cb = (JComboBox)e.getSource();
            String msg = (String)cb.getSelectedItem();
          
          
            switch(msg){
            case "Rot" : {
            
              int answer = JOptionPane.showConfirmDialog(null, "Möchtest du wirklich den Sessel hinzufügen?",
                    "Confirm Dialog", JOptionPane.YES_NO_OPTION);
              switch (answer) {
                 case JOptionPane.YES_OPTION:
                  
                         
                     StuhlAuswahl[] stuhl = new StuhlAuswahl[1];
                     int i;
                     for(i=0;i<stuhl.length;i++){
                         stuhl[i]=new StuhlAuswahl("rot");
                         stuhl[i].zeige();
                       
                       
                     }
                                                          
                   
                       
                        break;
                 case JOptionPane.NO_OPTION:
                    System.out.println("You clicked NO"); break;
               
              } // end of Case"Rot"
            break;
            }
            case "Blau" : {
                
                  int answer = JOptionPane.showConfirmDialog(null, "Möchtest du wirklich den Sessel hinzufügen?",
                        "Confirm Dialog", JOptionPane.YES_NO_OPTION);
                  switch (answer) {
                     case JOptionPane.YES_OPTION:
                       
                        StuhlAuswahl stuhl = new StuhlAuswahl("blau");
                        stuhl.zeige();                                      
                       
                           
                            break;
                     case JOptionPane.NO_OPTION:
                        System.out.println("You clicked NO"); break;
                   
                  } // end of Case"Blau"
                break;
                }
          
            case "Schwarz" : {
                
                  int answer = JOptionPane.showConfirmDialog(null, "Möchtest du wirklich den Sessel hinzufügen?",
                        "Confirm Dialog", JOptionPane.YES_NO_OPTION);
                  switch (answer) {
                     case JOptionPane.YES_OPTION:
                       
                        StuhlAuswahl stuhl = new StuhlAuswahl("schwarz");
                        stuhl.zeige();                                      
                       
                           
                            break;
                     case JOptionPane.NO_OPTION:
                        System.out.println("You clicked NO"); break;
                   
                  } // end of Case"Schwarz"
                break;
                }
          
}  
          
}
      
      
}  
  
}
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
      
    }  
  
  
  
  



    public Shape gibAktuelleFigur()
      {
          GeneralPath stuhl = new GeneralPath();
          stuhl.moveTo(xPosition       , yPosition);
          stuhl.lineTo(xPosition+breite, yPosition);
          stuhl.lineTo(xPosition+breite+3, yPosition+tiefe);
          stuhl.lineTo(xPosition-3       , yPosition+tiefe);
          stuhl.lineTo(xPosition       , yPosition        );
          //Das ist die Umrandung. Das Stuhl bekommt noch eine Lehne
          stuhl.moveTo(xPosition       , yPosition + 5 );
          stuhl.lineTo(xPosition + breite      , yPosition + 5);

          AffineTransform t1 = new AffineTransform();
          t1.rotate(Math.toRadians(orientierung),gibMitteX(),gibMitteY());

          return  t1.createTransformedShape(stuhl);
      }
    
      /**
       * Hole die X-Koordinate des Mittelpunktes
       * [ Hilfsfunktion f�r das Drehen. ]
       */
      private int gibMitteX()
      {
        return xPosition+breite/2;
      }

      /**
       * Hole die Y-Koordinate des Mittelpunktes
       * [ Hilfsfunktion f�r das Drehen. ]
       */
      private int gibMitteY()
      {
        return yPosition+tiefe/2;
      }

      /**
       * Mache dieses Objekt sichtbar. Wenn es bereits sichtbar ist, tue
       * nichts.
       */
      public void zeige()
      {
        istSichtbar = true;
        zeichne();
      }

      /**
       * Mache dieses Objekt unsichtbar. Wenn es bereits unsichtbar ist, tue
       * nichts.
       */
      public void verberge()
      {
        loesche();
        istSichtbar = false;
      }

      /**
       * Drehe auf den angegebenen Winkel
       */
      public void dreheAuf(int neuerWinkel)
      {
         loesche();
         orientierung = neuerWinkel;
         zeichne();
      }

      /**
       * Bewege dieses Objekt horizontal um 'entfernung' Bildschirmpunkte.
       */
      public void bewegeHorizontal(int entfernung, int objektNr)
      {
      
        StuhlAuswahl[] stuhl[];
        stuhl[objektNr] = objektNr;
       
        loesche();
        xPosition += entfernung;
        zeichne();
      }

      /**
       * Bewege dieses objekt vertikal um 'entfernung' Bildschirmpunkte.
       */
      public void bewegeVertikal(int entfernung)
      {
        loesche();
        yPosition += entfernung;
        zeichne();
      }

   
      /**
       * �ndere die Farbe dieses Objektes in 'neueFarbe'.
       * G�ltige Angaben sind "rot", "gelb", "blau", "gruen",
       * "lila" und "schwarz".
       */
      public void aendereFarbe(String neueFarbe)
      {
        farbe = neueFarbe;
        zeichne();
      }

      /*
       * Zeichne dieses Objekt mit seinen aktuellen Werten auf den Bildschirm.
       */
      public void zeichne()
      {
        if (istSichtbar)
        {
          Shape figur = gibAktuelleFigur();
          Leinwand leinwand = Leinwand.gibLeinwand();
          leinwand.zeichne (
            this,
            farbe,
            figur);
          leinwand.warte(10);
        }
      }

      /*
       * L�sche dieses Objekt vom Bildschirm.
       */
      private void loesche()
      {
        if (istSichtbar)
        {
          Leinwand leinwand = Leinwand.gibLeinwand();
          leinwand.entferne(this);
        }
        }
  
  
  
}
 

Thallius

Top Contributor
Frage:

Wieviel von dem Code oben hast du selber geschrieben und wie viel ist davon aus dem Internet kopiert?

Ich denke du solltest erstmal die Grundlagen erlernen bevor du anfängst mit so einem großen Projekt.
 

Castelexhd

Mitglied
Ich habe mir ich glaube 50 Tutorials von JavaTutorialsDE zu fast allem gemacht. Er hat nur leider bei GUI aufgehört. Abkopiert habe ich davon nichts. Ich bräuchte das halt nur fürn nen Projekt in der Schule. Lehrerin konnte mir da auch nicht weiterhelfen :(

EDIT:
Falls du die vielen Methoden meinst, die sind vergebenen gewessn. Das Projekt besteht eigentlich nur daraus, weitere Möbel hinzufügen und ein paar Methoden erstellen. Aber mein Ziel sind halt 15 Punkte und deswegen habe ich das Menü schon programmiert. Bis dato läuft auch alles.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Todesbote Treeset - Wenn bestimmtes Objekt vorkommt Counter erhöhen Java Basics - Anfänger-Themen 6
J Collections Auf ein bestimmtes Objekt in der Liste zugreifen und Werte verändern + Anschließend Sortieren... Java Basics - Anfänger-Themen 8
M Auf bestimmtes Objekt zugreifen Java Basics - Anfänger-Themen 10
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
D doc.seect jsouo bestimmtes class element finden Java Basics - Anfänger-Themen 1
D gebe string zurück mit von bis bestimmtes Zeichen Java Basics - Anfänger-Themen 4
W Processing bestimmtes Feld einfärben Java Basics - Anfänger-Themen 8
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
S Generische Methode soll Objekte als Parameter erlauben die bestimmtes Interface implementieren^ Java Basics - Anfänger-Themen 9
D Kontrolle ob Eingabe ein bestimmtes Zeichen ist Java Basics - Anfänger-Themen 3
J Für 3 Sekunden etwas bestimmtes zeichnen Java Basics - Anfänger-Themen 8
C Datei in bestimmtes Verzeichnis speichern Java Basics - Anfänger-Themen 2
C String auf bestimmtes Zeichen prüfen Java Basics - Anfänger-Themen 7
B JTextPane nur bis bestimmtes stelle löschen Java Basics - Anfänger-Themen 6
F Etwas bestimmtes löschen Java Basics - Anfänger-Themen 13
Ollek Bestimmtes Wort aus einem Dokument lesen Java Basics - Anfänger-Themen 7
H TabbedPane: wie schalte ich auf ein bestimmtes panel? Java Basics - Anfänger-Themen 2
T scanner bestimmtes format abfragen Java Basics - Anfänger-Themen 5
E Object als Parameter das Unbekannt ist, aber ein bestimmtes Interface haben muss Java Basics - Anfänger-Themen 3
G Bestimmtes Element in ArrayList finden Java Basics - Anfänger-Themen 3
G Bestimmtes Datum Java Basics - Anfänger-Themen 2
S bestimmtes Auslesen von Spalten eines ResultSet ? Java Basics - Anfänger-Themen 7
M bestimmtes zeichen zu zeilenanfang als abfrage? Java Basics - Anfänger-Themen 4
M ArrayList auf bestimmtes Element zugreifen Java Basics - Anfänger-Themen 2
E Grafik in bestimmtes frame einbinden . Java Basics - Anfänger-Themen 13
J bestimmtes Element aus DefaultListModel ausgeben? Java Basics - Anfänger-Themen 2
G Bestimmtes Feld aus ArrayList auslesen (nicht mit .get(x)?) Java Basics - Anfänger-Themen 27
B Bestimmtes Element eines Arrays zurückliefern Java Basics - Anfänger-Themen 7
B String auf bestimmtes Zeichen überprüfen Java Basics - Anfänger-Themen 7
M bestimmtes Zeichen finden Java Basics - Anfänger-Themen 2
M Ein bestimmtes Zeichen in einem String ändern Java Basics - Anfänger-Themen 4
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
I JSON in Objekt umwandeln Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
Say Objekt Java Basics - Anfänger-Themen 4
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
K wie kann ich alle Attribute von dem Objekt(pagode) ausgeben lassen ? Java Basics - Anfänger-Themen 3
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
M BlueJ Objekt in Objektliste Java Basics - Anfänger-Themen 2
B Objekt in Klassendiagramm an fremdes Objekt weiterreichen? Java Basics - Anfänger-Themen 6
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
amelie123456 Objekt Farbe Quellcode Java Basics - Anfänger-Themen 4
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
O Warum bekommen wir nicht die Referenz vom zurückgegebenen Objekt? Java Basics - Anfänger-Themen 4
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
melaniemueller Fernseher als Objekt Java Basics - Anfänger-Themen 9
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
B Objekt kopieren und sämtliche Referenzen von diesem Objekt? Java Basics - Anfänger-Themen 3
S JavaFX - Objekt an neue Stage übergeben Java Basics - Anfänger-Themen 12
T Verständnisfrage Objekt Getter Setter Java Basics - Anfänger-Themen 102
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
S Aufzurufendes Objekt Java Basics - Anfänger-Themen 3
CptK Überprüfen ob übergebenes Objekt zu Generics passt Java Basics - Anfänger-Themen 2
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
P Ein Objekt nach einem String durchsuchen? Java Basics - Anfänger-Themen 7
S Objekt aus Arraylist in andere Arraylist kopieren? Java Basics - Anfänger-Themen 2
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Objekt von EJB in Controller (CDI) - Klasse füllen? Java Basics - Anfänger-Themen 3
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
N LocalTime einem Objekt zuweisen Java Basics - Anfänger-Themen 2
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
M ArrayList - Objekt kopieren und ändern Java Basics - Anfänger-Themen 11
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
J Y-Koordinate von GUI-Objekt bestimmen Java Basics - Anfänger-Themen 2
M Auf erstelltes Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 5
H Referenz Objekt aufrufen Java Basics - Anfänger-Themen 12
M Objekt mit eindeutiger ID löschen, das nächste Objekt hat dann diese ID Java Basics - Anfänger-Themen 5
N Mit Objekt der Superklasse auf Methode der Subklasse zugreifen Java Basics - Anfänger-Themen 6
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
H Objekt aus einem Array löschen Java Basics - Anfänger-Themen 1
H Objekt im Array speichern Java Basics - Anfänger-Themen 2
H Objekt mit Methode erstellen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben