Textfelder auslesen

Freaky1

Mitglied
Hi Leute,

hab mal ne Frage:

ich lasse mir mit folgendem Code ein paar Textfelder erstellen:

Java:
		for(int i = 0;i<anzTextFields;i++){
			textFields[i] = new JTextField();
			textFields[i] = aGUI.createTextField(textFieldSize, frame, locTextFieldX, locTextFieldY, anzTextFields, absTextFields);
			locTextFieldY = locTextFieldY + absTextFields;
		}

der Code zu a.GUI.createTextField sieht so aus:

Java:
	public JTextField createTextField(Dimension size, JFrame frame, int x, int y,int anzTextFields, int Abstand){
			JTextField Info = new JTextField();
			Info.setLocation(x, y);
			Info.setSize(size);
			frame.add(Info);
			return Info;
	}

jetzt ist meine Frage: ich möchte nachdem ich die Textfelder erstellt habe auf den Inhalt der Textfelder zugreifen. Hier der ActionListener zum jeweiligen Button:

Java:
	public void createButton(final String[] name, Dimension size, final JFrame frame, int x, int y,int anzButtons){
		for(int i = 0;i<anzButtons;i++){
			JButton Verkauf = new JButton(name[i]);
			Verkauf.setSize(size);
			Verkauf.setLocation(x, y);
			final int t = i;
	 		Verkauf.addActionListener(new ActionListener(){
				 public void actionPerformed(ActionEvent e){
                                        ...
 					 else if(name[t].equals("neuen Eintrag speichern")){
						 //nachdem dieser ActionListener betätigt wurde, sollen die Daten in den Textfeldern gespeichert werden.
						 	
					 }
				 }
			 });
			frame.add(Verkauf);
			y = y + 50;
		}
	}

Ich kriegs aber nicht hin. Wer kann mir helfen?

Danke im voraus...

Euer Freaky
 

Network

Top Contributor
Wenn du dich ein bischen mehr mit Java selber auseinandersetzen würdest, würdest du einen Blick ins Javadoc werfen und dort nach Methoden suchen die mit set anfangen.

-> setText( String string );
 

Freaky1

Mitglied
Sorry hab falsch gefragt. Die frage ist wie ich die Datensätze zwischen den Klassen austauschen soll? Die Methode createTextfield und createButton sind in der selben klasse, aber die erste for-Schleife in meinem ersten Post ist in ener anderen klasse.
 

bERt0r

Top Contributor
Setzt dich lieber mal mit dem Thema Layoutmanager auseinander, dann kannst du dir solche umständlichen Methoden Sparen.
 

JDKarl

Mitglied
Lass sie unternander erben und setzt die Button static.

Wenn ich es richtig verstanden habe, dass du von einer anderen Klasse aus einen Button oder Texfield ändenr willst.

mfg

JDKarl
 

Freaky1

Mitglied
Hallo,

also ich habe eine Klasse die heißt createGUI. In dieser Klasse ist die Methode createTextField() und createButton() vorhanden.

In einer anderen Klasse (neuerEintrag) erzeuge ich mit der Methode createTextField() in einer for-Schleife die Textfelder:

Java:
 for(int i = 0;i<anzTextFields;i++){
            textFields[i] = new JTextField();
            textFields[i] = aGUI.createTextField(textFieldSize, frame, locTextFieldX, locTextFieldY, anzTextFields, absTextFields);
            locTextFieldY = locTextFieldY + absTextFields;
        }

die Methode createTextField() sieht so aus:

Java:
    public JTextField createTextField(Dimension size, JFrame frame, int x, int y,int anzTextFields, int Abstand){
            JTextField Info = new JTextField();
            Info.setLocation(x, y);
            Info.setSize(size);
            frame.add(Info);
            return Info;
    }

In der Klasse createGUI(und nicht in der Klasse neuerEintrag) sind auch die Buttons, die ich erzeugen will. Diese Bekommen auch ActionListener. Dies realisiere ich wie folgt:

Java:
    public void createButton(final String[] name, Dimension size, final JFrame frame, int x, int y,int anzButtons){
        for(int i = 0;i<anzButtons;i++){
            JButton Verkauf = new JButton(name[i]);
            Verkauf.setSize(size);
            Verkauf.setLocation(x, y);
            final int t = i;
            Verkauf.addActionListener(new ActionListener(){
                 public void actionPerformed(ActionEvent e){
                                        ...
                     else if(name[t].equals("neuen Eintrag speichern")){
                         //nachdem dieser ActionListener betätigt wurde, sollen die Daten in den Textfeldern gespeichert werden.
                            
                     }
                 }
             });
            frame.add(Verkauf);
            y = y + 50;
        }
    }

Ich muss jetzt die Textfelder, die in neuerEintrag erzeugt wurden, an den ActionListener in createGUI übergeben, damit er sie an eine andere Klasse speichereEintrag() übergeben kann.

Hier komme ich nicht weiter. Wie kann ich das umgehen? Kennt jemand einen eleganteren Weg? Sorry, aber ich bin etwas Anfänger in OO...
 
Zuletzt bearbeitet:

X5-599

Top Contributor
verstehe ich das richtig, dass das JTextFields Array und die createButton Methode in derselben Klasse sind? Wenn ja müsstest du einfach in der actionPerformed Methode des Listeners drauf zugreifen können:

Java:
else if(e.getActionCommand().equals("neuen Eintrag speichern")) {
        //nachdem dieser ActionListener betätigt wurde, sollen die Daten in den Textfeldern gespeichert werden.
                            
        //verändern
        textFields[0].setText("");

        //auslesen
        String var = textFields[0].getText();

        //weitergeben
        anderesObjekt.machWasMitEinemTextField(textFields[0]);
        anderesObjekt.machWasMitAllenTextFields(textFields);
}

P.S. beachte auch die Änderung in Zeile 1)
 

Freaky1

Mitglied
verstehe ich das richtig, dass das JTextFields Array und die createButton Methode in derselben Klasse sind? Wenn ja müsstest du einfach in der actionPerformed Methode des Listeners drauf zugreifen können:

Java:
else if(e.getActionCommand().equals("neuen Eintrag speichern")) {
        //nachdem dieser ActionListener betätigt wurde, sollen die Daten in den Textfeldern gespeichert werden.
                            
        //verändern
        textFields[0].setText("");

        //auslesen
        String var = textFields[0].getText();

        //weitergeben
        anderesObjekt.machWasMitEinemTextField(textFields[0]);
        anderesObjekt.machWasMitAllenTextFields(textFields);
}

P.S. beachte auch die Änderung in Zeile 1)
[/QUOTE]

Nein, hast es nicht ganz richtig verstanden. Die Objekte werden an eine andere Klasse per return übergeben. D.h. die Methode "erstelleNeuenEintrag()" in der Klasse "neuerEintrag" ruft die Methode "createTextField()" von der Klasse "createGUI" auf. Die Textfelder werden an die Klasse "neuerEintrag" übergeben. Die Objekte sind also nicht mehr in der Klasse "createGUI" sondern in der Klasse "neuerEintrag". In der Methode "erstelleNeuenEintrag()" erzeuge ich noch einen Button mit "createButton()" von der Klasse "createGUI". Dieser bekommt einen ActionListener. IN DIESEN ActionListener müsste ich jetzt (unzwar NACHDEM der Button betätigt wurde) den Inhalt der Textfelder übergeben.
 
Zuletzt bearbeitet:

bERt0r

Top Contributor
Wie gesagt, du machst das alles zu kompliziert. Wenn du einen Layoutmanager verwendest brauchst du nur zwei Zeilen Code um ein Textfeld zu erstellen, es in eine Variable zu speichern und in der richtigen Größe und Position anzuzeigen.
 

X5-599

Top Contributor
Ich denke nicht, dass es hier um die Darstellung geht. Scheint mir viel mehr ein Verarbeitungsproblem zu sein.

Also an der Stelle wo du die JTextField s erzeugst müsstest du diese z.B. in einer List<JTextField> speichern. Als ein attribut der Klasse CreateGui, meine ich. Dann könnten die ActionListener daruaf zugreifen.

Java:
public class CreateGui
{
    private List<JTextField> liste = new ArrayList<JTextField>();

    public JTextField createTextField(Dimension size, JFrame frame, int x, int y,int anzTextFields, int Abstand) {
        JTextField Info = new JTextField();
        Info.setLocation(x, y);
        Info.setSize(size);
        liste.add((JTextField)frame.add(Info));
        return Info;
    }


    public void createButton(final String[] name, Dimension size, final JFrame frame, int x, int y,int anzButtons){
        for(int i = 0;i<anzButtons;i++){
            JButton Verkauf = new JButton(name[i]);
            Verkauf.setSize(size);
            Verkauf.setLocation(x, y);
            
            Verkauf.addActionListener(new ActionListener(){
                 public void actionPerformed(ActionEvent e){
                                        ...
                     else if(e.getActionCommand().equals("neuen Eintrag speichern")){
                         //nachdem dieser ActionListener betätigt wurde, sollen die Daten in den Textfeldern gespeichert werden.
                            for(JTextField feld : liste) {
                                String inhalt = feld.getText();
                         }
                     }
                 }
             });
            frame.add(Verkauf);
            y = y + 50;
        }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Swing Per Button die Labels und Textfelder auslesen AWT, Swing, JavaFX & SWT 8
C TextFelder auslesen AWT, Swing, JavaFX & SWT 20
K Textfelder auslesen gibt immer Fehler AWT, Swing, JavaFX & SWT 2
K Textfelder auslesen AWT, Swing, JavaFX & SWT 3
D Mehrere verschiedene Textfelder auslesen? AWT, Swing, JavaFX & SWT 10
AmsananKING Textfelder sind gleich null AWT, Swing, JavaFX & SWT 2
B Mit der ChoiceBox-Auswahl Textfelder hinzufügen AWT, Swing, JavaFX & SWT 18
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
C AWT Textfelder werden nicht automatisch angezeigt AWT, Swing, JavaFX & SWT 2
A Swing JDialog KeyBindings und Textfelder AWT, Swing, JavaFX & SWT 5
P Komische Zeichen beim Abspeichern von TextFelder AWT, Swing, JavaFX & SWT 2
P 2D-Grafik versch. Rectangles aus array von textfelder zeichen AWT, Swing, JavaFX & SWT 6
Landei Swing JToolbar: Textfelder mit normaler Höhe? AWT, Swing, JavaFX & SWT 2
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
S Textfelder JLabels AWT, Swing, JavaFX & SWT 3
D Benutzeroberfläche, Textfelder AWT, Swing, JavaFX & SWT 6
M AWT TextFelder und Labels nicht ausgerichtet AWT, Swing, JavaFX & SWT 6
N Textfelder werden nicht richtig angezeigt AWT, Swing, JavaFX & SWT 2
P Leere Textfelder abfangen AWT, Swing, JavaFX & SWT 4
J Textfelder AWT, Swing, JavaFX & SWT 3
S 2 Textfelder und nen Strich AWT, Swing, JavaFX & SWT 6
C DocumentListener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
J Textfelder zu groß für den Text AWT, Swing, JavaFX & SWT 10
P Textfelder in einem Frame lassen sich nicht editieren AWT, Swing, JavaFX & SWT 3
N Textfelder in JDIALOG AWT, Swing, JavaFX & SWT 6
J Durch Textfelder iterieren AWT, Swing, JavaFX & SWT 8
M Textfelder leeren AWT, Swing, JavaFX & SWT 6
T Per Dialog Textfelder löschen AWT, Swing, JavaFX & SWT 4
J Textfelder in Applet übernehmen größen angabe nicht! AWT, Swing, JavaFX & SWT 4
T Textfelder als Klasse im Array? AWT, Swing, JavaFX & SWT 3
P SWT: GridLayout und Textfelder AWT, Swing, JavaFX & SWT 1
B NULL Layout - TextFelder verschwinden AWT, Swing, JavaFX & SWT 8
H Textfelder erzeugen AWT, Swing, JavaFX & SWT 2
D Überwachung mehrerer Textfelder AWT, Swing, JavaFX & SWT 4
N auf textfelder ueber namen zugreifen AWT, Swing, JavaFX & SWT 2
N Textfelder = Inhalt vorhanden && Jtable rendern AWT, Swing, JavaFX & SWT 8
L Textfelder für Dezimal, Binär und Hexwerte. AWT, Swing, JavaFX & SWT 6
R Textfelder formatieren AWT, Swing, JavaFX & SWT 11
Z Swing Wert aus Textfeld auslesen -- null Fehler AWT, Swing, JavaFX & SWT 4
B Swing Posistion von JButton auslesen gibt immer 0 aus AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
T Swing JTable auslesen und befüllen AWT, Swing, JavaFX & SWT 8
Soloeco Swing JTextField auslesen Klassen übergreifend AWT, Swing, JavaFX & SWT 16
M JavaFX - Array in View auslesen AWT, Swing, JavaFX & SWT 12
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
B JavaFX Symbole aus Fonts auslesen AWT, Swing, JavaFX & SWT 1
sandaime Swing Thread für CMD auslesen AWT, Swing, JavaFX & SWT 16
G Werte aus dem GUI Auslesen AWT, Swing, JavaFX & SWT 8
3 JComboBox - Action - Auslesen & Umwandeln AWT, Swing, JavaFX & SWT 9
D JavaFX Dynamisch erzeugte Checkboxen aus VBox auslesen AWT, Swing, JavaFX & SWT 3
thobren JavaFX Inhalte aus dynamischen vbox mit TextArea auslesen AWT, Swing, JavaFX & SWT 9
F geänderten Textfeldinhalt mit parse auslesen AWT, Swing, JavaFX & SWT 1
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
M JavaFX Wert aus Tabellenzelle auslesen AWT, Swing, JavaFX & SWT 4
M Swing JFreechart X-Achse Tick auslesen AWT, Swing, JavaFX & SWT 13
T Swing jComboBox auslesen mit Datenbankanbindung AWT, Swing, JavaFX & SWT 3
P Swing JTable Werte auslesen bzw überschreiben AWT, Swing, JavaFX & SWT 5
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
T Swing "Textgröße" aus OS auslesen AWT, Swing, JavaFX & SWT 3
D Swing Farbe aus Pixel vom JFrame auslesen AWT, Swing, JavaFX & SWT 17
R Array aus einem Objekt auslesen AWT, Swing, JavaFX & SWT 4
F Swing jComboBox auslesen AWT, Swing, JavaFX & SWT 6
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
R Int aus JSpinner auslesen und Tabelle erstellen AWT, Swing, JavaFX & SWT 3
X Gridbaglayout gridx + gridy auslesen? AWT, Swing, JavaFX & SWT 7
M JTextField gibt beim auslesen null aus AWT, Swing, JavaFX & SWT 9
L SWT Eingabefelder beim Schließen des Forms auslesen AWT, Swing, JavaFX & SWT 3
D Applet Auslesen von Images aus Ressourcen AWT, Swing, JavaFX & SWT 29
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
T 3D-Grafik (Java3D) Aus einem Objekt einer Szene (Würfel, Ebene) die wichtigen Randkoordinaten auslesen AWT, Swing, JavaFX & SWT 3
P gleichanfangende Zeilen solange auslesen bis es die gibt AWT, Swing, JavaFX & SWT 12
J JTextField auslesen lassen AWT, Swing, JavaFX & SWT 4
C Swing TextField auslesen AWT, Swing, JavaFX & SWT 21
E Textfeld auslesen AWT, Swing, JavaFX & SWT 2
F SWT Tabelle Zeile auslesen AWT, Swing, JavaFX & SWT 3
M Position eines JLabels mit getX() auslesen AWT, Swing, JavaFX & SWT 2
D SWT CheckBox auslesen (Window Builder Pro) AWT, Swing, JavaFX & SWT 2
E Wert eines selektierten Knotens in einem JTree auslesen AWT, Swing, JavaFX & SWT 3
J Mausposition auslesen AWT, Swing, JavaFX & SWT 4
L Name des JLabels auslesen bei Mouseclick AWT, Swing, JavaFX & SWT 2
A Swing Slider-Value auslesen und weitergeben AWT, Swing, JavaFX & SWT 4
B Swing Betrag mit Komma aus jformattedtextfield auslesen. AWT, Swing, JavaFX & SWT 2
Y JSlider Wert auslesen (Kategorien) AWT, Swing, JavaFX & SWT 2
K Text vom JTextField auslesen AWT, Swing, JavaFX & SWT 9
E werte aus List auslesen AWT, Swing, JavaFX & SWT 2
R Textfield auslesen auf Anforderung AWT, Swing, JavaFX & SWT 4
M Zeitkritisches auslesen von Tastatureingaben AWT, Swing, JavaFX & SWT 6
M Swing JTextField "onthefly" auslesen und berechnen AWT, Swing, JavaFX & SWT 7
C Swing JPasswordField Password auslesen AWT, Swing, JavaFX & SWT 7
K 2D-Grafik Fehler beim Farbe auslesen AWT, Swing, JavaFX & SWT 3
K JTable Werte auslesen AWT, Swing, JavaFX & SWT 2
T JSpinner in JTable: Problem beim Auslesen, funktioniert erst beim Zellwechsel AWT, Swing, JavaFX & SWT 7
3 2D-Grafik Rechtecke auf Bilder legen und auslesen AWT, Swing, JavaFX & SWT 4
P Swing ComboBox(en) in JTable auslesen und ausgeben AWT, Swing, JavaFX & SWT 11
1 Textfeld auslesen AWT, Swing, JavaFX & SWT 11
R TextField auslesen & in Objekteigenschaften speichern AWT, Swing, JavaFX & SWT 22
J JSpinner + SpinnerNumberModel int auslesen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben