reset the text area contents

17,850

write your actionPerformed() method as follows

    public void actionPerformed(ActionEvent ae)
  {
    String str = ae.getActionCommand();
    if(str.equals("Load")) {
      msg = "You pressed Load";
    } else {
      if(txt.getText().toString().equals ("6")) 
         {
        **text.setText("");**
        msg="Set the text for 6";
        text.setText("Text");
         } 
         else {
        msg="Invalid number";
        text.setText("");
      }
    }
    repaint();
  }

the mistake was that you were not clearing the text field after writing to it! now it is cleared by using text.setText(""); in if condition

hope this solves your problem!

Share:
17,850
praveena
Author by

praveena

Updated on June 04, 2022

Comments

  • praveena
    praveena almost 2 years

    I have this code.. here when i input number "6" in the textfield, text should be displayed in the textarea..but after that if i input any other number i want the textarea contents to be clear. But when I execute my code, the old contents of the textarea remain even when i input a different number. Please help!

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    /* <applet code="front" width=500 height=500></applet> */
    public class front extends Applet implements ActionListener {
      String msg="";
      TextArea text,text1;
      TextField txt;
      Button load, enter;
    
      public void init() {
        enter=new Button("Enter");
        load=new Button("Load");
        txt=new TextField(5);
        text=new TextArea(10,15);
    
        add(load);
        add(text);
    
        add(txt);
        add(enter);
    
        load.addActionListener(this);
        txt.addActionListener(this);
        enter.addActionListener(this);
      }
    
      public void actionPerformed(ActionEvent ae)
      {
        String str = ae.getActionCommand();
        if(str.equals("Load")) {
          msg = "You pressed Load";
        } else {
          if(txt.getText().toString().equals ("6")) {
            msg="Set the text for 6";
            text.setText("Text");
          } else {
            msg="Invalid number";
            text.setText("");
          }
        }
        repaint();
      }
    
      public void paint(Graphics g) {
        g.drawString(msg,350,250);
      }
    }
    
  • praveena
    praveena about 11 years
    No it doesnt :( it remains as "Text" itself..the thing is only the msg "Invalid msg" gets displayed but the textfield isnt cleared :(