Hallo Zusammen,
ich habe eine Methode, welche Textfelder erzeugt. Diese Textfelder werden in eine ArrayList übergeben. Jetzt möchte ich gerne in einer anderen Methode mir den text der Textfelder ausgeben lasse. Irgendwie bekomme ich nur Nullwerte also "" zurück.
Scheinbar übergibt die Methode die ursprünglich erzeugten JTextfelder ohne Inhalt. Meine Idee ist es einen Listener für die Textfelder zu schaffen. Ich weiss aber nicht welchen und richtig sicher bin ich mir auch nicht ob es etwas bringt. Bitte schaut mal drüber ...vielleicht habt ihr die zündende Idee.
ich habe eine Methode, welche Textfelder erzeugt. Diese Textfelder werden in eine ArrayList übergeben. Jetzt möchte ich gerne in einer anderen Methode mir den text der Textfelder ausgeben lasse. Irgendwie bekomme ich nur Nullwerte also "" zurück.
Scheinbar übergibt die Methode die ursprünglich erzeugten JTextfelder ohne Inhalt. Meine Idee ist es einen Listener für die Textfelder zu schaffen. Ich weiss aber nicht welchen und richtig sicher bin ich mir auch nicht ob es etwas bringt. Bitte schaut mal drüber ...vielleicht habt ihr die zündende Idee.
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class test {
JButton buttonBerechne;
JTextField ergebnis=new JTextField();
JTextField textUmsatz=new JTextField("0,00",6);
ArrayList<JTextField> textFieldUmsatzListe=new ArrayList<>();
ArrayList<String>StringUmsatzListe=new ArrayList<>();
public static void main(String args[]){
test t=new test();
t.los();
}
ArrayList<JTextField> los(){
JFrame frame=new JFrame("BWA Monatsübersicht");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.LIGHT_GRAY);
JButton buttonBerechne=new JButton("Berechne");
JPanel panelTabelle=new JPanel();
JPanel panelUmsatz=new JPanel();
JPanel panelKosten=new JPanel();
panelTabelle.add(panelUmsatz);
panelTabelle.add(panelKosten);
buttonBerechne.addActionListener(new RechnerListener());
ArrayList<JTextField> textFieldUmsatzListe=new ArrayList<>();
try{
for (int i=0;i<4;i++){
textUmsatz=new JTextField(6);
textFieldUmsatzListe.add(textUmsatz);
panelUmsatz.add(textUmsatz);
}}
catch (Exception er){
er.printStackTrace();}
panelTabelle.setLayout(new BoxLayout(panelTabelle,BoxLayout.PAGE_AXIS));
frame.getContentPane().add(BorderLayout.CENTER, panelTabelle);
frame.getContentPane().add(BorderLayout.NORTH, buttonBerechne);
frame.getContentPane().add(BorderLayout.SOUTH, ergebnis);
frame.setSize(200, 200);
frame.setVisible(true);
return textFieldUmsatzListe;
}
void getTexter(ArrayList<JTextField>textFieldUmsatzListe){
for (int i=0;i<4;i++){
System.out.println(textFieldUmsatzListe.get(i).getText());
}
}
class RechnerListener implements ActionListener{
test s =new test();
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
s.getTexter(los());
}
}
}