java - Cannot Find Symbol errors everywhere -
this supposed 3 part panel top panel being label updated number when button in middle panel pressed. label cleared when clear button on bottom pressed.
the problem every mention of each button middle panel causes "cannot find symbol" error...
any appreciated.
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class numerickeypadpanel2 extends jpanel { //---------------------------------------------------------------------- public numerickeypadpanel2() { jbutton b1 = new jbutton ("1"); jbutton b2 = new jbutton ("2"); jbutton b3 = new jbutton ("3"); jbutton b4 = new jbutton ("4"); jbutton b5 = new jbutton ("5"); jbutton b6 = new jbutton ("6"); jbutton b7 = new jbutton ("7"); jbutton b8 = new jbutton ("8"); jbutton b9 = new jbutton ("9"); jbutton b10 = new jbutton ("*"); jbutton b11 = new jbutton ("0"); jbutton b12 = new jbutton ("#"); jbutton clear = new jbutton ("clear"); numlistener listener = new numlistener(); b1.addactionlistener (listener); b2.addactionlistener (listener); b3.addactionlistener (listener); b4.addactionlistener (listener); b5.addactionlistener (listener); b6.addactionlistener (listener); b7.addactionlistener (listener); b8.addactionlistener (listener); b9.addactionlistener (listener); b10.addactionlistener (listener); b11.addactionlistener (listener); b12.addactionlistener (listener); clear.addactionlistener (listener); string num = " "; jpanel panel_main = new jpanel(); panel_main.setlayout(new borderlayout()); //top jlabel display = new jlabel(num); display.setborder (borderfactory.createlineborder (color.black, 3)); panel_main.add(display, borderlayout.north); //mid jpanel keypad = new jpanel(); keypad.setlayout(new gridlayout (4, 3)); keypad.setborder (borderfactory.createlineborder (color.black, 3)); //adding buttons keypad.add (b1); keypad.add (b2); keypad.add (b3); keypad.add (b4); keypad.add (b5); keypad.add (b6); keypad.add (b7); keypad.add (b8); keypad.add (b9); keypad.add (b10); keypad.add (b11); keypad.add (b12); //adding panel panel_main.add(keypad, borderlayout.center); //btm panel_main.add(clear, borderlayout.center); } private class numlistener implements actionlistener { public void actionperformed (actionevent e) { if(e.getsource() == b1) { display.settext(display.gettext()+"1"); } else if(e.getsource() == b2) { display.settext(display.gettext()+"2"); } else if(e.getsource() == b3) { display.settext(display.gettext()+"3"); } else if(e.getsource() == b4) { display.settext(display.gettext()+"4"); } else if(e.getsource() == b5) { display.settext(display.gettext()+"5"); } else if(e.getsource() == b6) { display.settext(display.gettext()+"6"); } else if(e.getsource() == b7) { display.settext(display.gettext()+"7"); } else if(e.getsource() == b8) { display.settext(display.gettext()+"8"); } else if(e.getsource() == b9) { display.settext(display.gettext()+"9"); } else if(e.getsource() == b10) { display.settext(display.gettext()+"*"); } else if(e.getsource() == b11) { display.settext(display.gettext()+"0"); } else if(e.getsource() == b12) { display.settext(display.gettext()+"#"); } else if(e.getsource() == clear) { display.settext(" "); } } } }
all of jbuttons , jlabels declared local variables in constructor, aren't accessible outside constructor.
to have them available other methods, declare variables instance variables in class (outside of methods or constructors). they'll in scope entire class.
Comments
Post a Comment