carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.410 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 2276 von 2963 (77%) |<   <   >   >|

Autor Harald Faber
Datum 15.12.03, 10:09
Betreff Re: StringBuffer Problem!


    Zitat:
    Hallo,
    ich möchte folgendes realisieren.

    Bei klick auf den Button reinBut solle jeweils ein X in die TextArea "kuehlschrank" geschrieben werden.

    Beim zweiten Klick soll das zweite X einfach hinten rangehängt werden... So das nach 10x Klicken, XXXXXXXXXX in meiner TextArea zu sehen sind.

    Nun soll es auch noch einen Button geben rausBut der das letzte X wieder löscht! Habe es erfolgreich für das einfügen mit kuehlschrank.append("X"); hinbekommen, nur so kann man (habe ich zumindestens gelesen) nichts wieder entfernen, oder??

    Somit wollte ich StringBuffer nutzen...

    Habe folgendes geschrieben:


    --------------------------------
    reinBut.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            if (Anzahl == 100)
            return;
            else
            Anzahl++;
            
            
            
            StringBuffer buffer = new StringBuffer(100);
            
            buffer.append("x");
            
            
            kuehlschrank.setText(""+ buffer);

    --------------------------------

    relevant ist nur das nach dem "else"...

    So wenn ich das so compiliere schriebt er immer nur ein X in meine TextArea kuehlschrank, egal wie oft ich klicke?

    Wie kann ich den Fehler beheben und wie lautet der Befehl das letzte X aus der Textarea mit einem Button zu entfernen???

    DANKE IM VORAUS
1. Tim hat natürlich Recht. Du erzeugst im actionPerformed immer wieder ein neues Objekt: StringBuffer buffer = new StringBuffer(100); und hängst dann ein X dran. Deshalb bekommst Du auch nur ein X angezeigt. Der buffer muss als Instanzvariable und nicht als lokale Variable angelegt werden.

2. Das letzte X zu entfernen geht notfalls über substring. Z.B. einfach

myString = buffer.subString(0, buffer.length()-1);

und damit den urpsrünglichen String um das letzte Zeichen kürzen. Falls es kein X sein sollte, musst Du nur dagegen abprüfen und fertig.


Diskussionsverlauf:
        AW: StringBuffer Problem!
            AW: StringBuffer Problem!
    Re: StringBuffer Problem!
    Re: StringBuffer Problem!
        Re: StringBuffer Problem!
            Re: StringBuffer Problem!
StringBuffer Problem!

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com