java - how to transmit user variables to paint method -


i'm new there might many problems in code below.
should take user written text text field , draw morse code it. gets text, transmits string in chararray form class, paint method doesn't draw anything(variables not recognized in paint method!!).

input: constructor gets link(or in that)of other class, char string, , place number in string output: last 3 rows drawn, other variables outside paint method not recognized!

here class doesn't work:

public class procesare extends canvas{     morse fereastra;     string lit="",cod="";     char car;     int nr;      public procesare(morse parinte,char c,int i){         fereastra=parinte;         car=c;  // or without "this" doesn't seem transmit values class         nr=i;         //this.lit=string.valueof(c);         switch (c){                 //this part testing values transmited, works                 case 'a':                     fereastra.canv.setbackground(color.orange);                     system.out.println(c+" .-");                      break;                 case 'b':                      fereastra.canv.setbackground(color.blue);                     system.out.println(c+" -...");                      break;                 case 'c':                      fereastra.canv.setbackground(color.red);                     system.out.println(c+" -.-.");                      break;                 case 'd':                      fereastra.canv.setbackground(color.green);                      system.out.println(c+" -..");                      break;                 default: break;             }     }      public void paint(graphics g){         lit=string.valueof(car);         switch (lit){                 case "a": cod=".-"; break;                 case "b": cod="-..."; break;                  default: break;             }         g.drawstring(lit,5,10+nr*10);         g.drawstring(cod,15,10+nr*10);         g.drawstring(lit,5,10);  // these aren't drawing !?!?          g.filloval(15, 3, 6, 6); // testing         g.drawstring("z",5,20);         g.filloval(15, 13, 6, 6);      } } 

the main class, works:

public class morse extends frame {     xtext camp;     procesare proc,canv;     string s1, str;     char[] cuv;     int n;      public morse(string titlu){       super(titlu);       init();     }       public static void main (string args[]){         morse app=new morse("morse much?");         app.setsize(250,250);         app.show();     }     public boolean handleevent(event evt)  {       if (evt.id==event.window_destroy)       {system.exit(0);}       return super.handleevent(evt);     }      public void init(){         setlayout(new gridlayout(3,1,10,20));         setbackground(color.gray);         canv=new procesare(this,' ',0);         canv.setbackground(color.orange);         camp=new xtext(this,"introduceti textul aici:");                       add(camp);         add(canv);      }     public insets getinsets(){         return new insets(30,30,30,30);     }     void update(xtext input){          s1=input.ctext1.gettext();         cuv = s1.tochararray();          for(n=0;n<s1.length();n++){             proc=new procesare(this,cuv[n],n);         }      } } 


Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -