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





· Password lost?
· Join for free
  Information
  Tour
  Features
  In comparison
  Join for free
SEARCH
Search for messages or groups:
  Customer care
  Imprint
  Privacy
  Terms
Status
2.935 user online
11 user logged-in
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 1344 von 2963 (45%) |<   <   >   >|

Autor Harald Faber
Datum 2003-12-15, 10:09 AM CET
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:
        Re: StringBuffer Problem!
StringBuffer Problem!
    Re: StringBuffer Problem!
    Re: StringBuffer Problem!
            Re: StringBuffer Problem!
        AW: StringBuffer Problem!
            AW: StringBuffer Problem!

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Imprint  · Privacy  · Terms  · Info  · Press
Ein modernes Forum: teamturn.com