Java Textfeld

Flooow

Mitglied
Guten Tag =)


Würdet ihr mir vielleicht an meinem beispiel verdeutlich , wie ich den Text eines Textfeldes mit drücken eines buttons, in ein anderes Textfeld erscheinen lasse?

ich hab schon gegoogled da kam denn was mit jtextfield1.getText() und derartiges , jedoch habe ich dazu kein anwenndungsbeispiel gefunden

Textfeld das ausgelesen werden soll

Code:
textField1.setBounds(8, 48, 121, 24);
        textField1.setText("textField1");
        cp.add(textField1);


nachdem auf diesem Button gedrückt wurde
Code:
  button2.setBounds(24, 256, 75, 25);
        button2.setLabel("Suche");
        button2.addActionListener(new ActionListener() {

und am ende sollte das hier ausgegeben werden

Code:
  textArea1.setBounds(256, 112, 217, 249);
        textArea1.setText("(Ergebnis)");
        cp.add(textArea1);

wäre sehr nett wenn ihr mir das einmal erläutern könnte

mfg :>
 
Also, ich gehe mal davon aus, dass cp die ContentPane ist.
textField1 ist das JTextField, dessen Inhalt in dem zweite Textfeld erscheinen soll.
button2 ist ja klar, das ist der Button mit dem kopiert werden soll, textArea1 soll dann denke ich die JTextArea sein in der dann der Text aus textField1 erscheinen soll.

Dann hast du den entscheidenden Teil in dem das kopieren stattfindet leider weggelassen. Der befindet sich nämlich in dem ActionListener für button2. Innerhalb des ActionListeners muss dann nur der Inhalt von textField1 als der Inhalt von textArea1 gesetzt werden. Das geht wie folgt:

Java:
  button2.setBounds(24, 256, 75, 25);
        button2.setLabel("Suche");
        button2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String text = textField1.getText(); //Entnehmen des Textes aus dem textField1
                textArea1.setText(text); //Einfügen des Textes in textArea1
            }
        });

Es kann durchaus sein, dass der Compiler da noch meckert. das liegt dann sehr wahrscheinlich daran, dass textField1 und/oder textArea1 lokale Variablen sind die nicht als final deklariert sind.
Denn verwendet man in einer AnonymenKlasse (der ActionListener in diesem Fall) Variablen, dann müssen diese entweder Instanzvariablen sein, oder wenn sie lokal sind müssen diese als final deklariert sein.
 
Was genau verstehst du nicht?

Du benötigst 2 Textkomponenten, die du konfigurierst (setText, setBounds...) und einem Container hinzufügst. Ähnlich verfährst du mit einem Button. Diesen Button kannst du einen ActionListener hinzufügen, für welchen die Methode actionPerformed() ausprogrammiert werden muss. Diese Methode wird aufgerufen, sobald der Button gedrückt wird. Mithilfe von getText() und setText() kannst du dann die Werte übertragen.
 
vielen dank =) jez hab ich wenigstens ma n plan wie das funktioniert :D

aba eine frage hätte ich da noch, :(

wie vergleiche ich 2 strings miteinanden? ich hätte jez ja den string text und jez hab ich noch einen anderen namens csvDatei .

diese sollte dann mit dem Text vergliechen werden, und die ergebnisse die er da findet sollen ausgegeben werden.

jedoch womit vergleiche ich nun die beiden strings? =)

vielen vielen dank
 
Du hast da mehrere Möglichkeiten, z.B.:

-Direktvergleich: string1.equals(string2);

-String2 kommt in String1 vor: string1.contains(string2); / StringUtils.contains(string1, string2); (o.Ä. siehe http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/StringUtils.html)

-String2 kommt in String1 vor mit guter Weiterverwendbarkeit bezüglich highlighten, nächstes gefunden etc.: Pattern und Matcher (Reguläre Ausdrücke)
 
Zuletzt bearbeitet:
Zurück