class - Java Question, From a C++ Programmer -


i'm learning java, , i'm on packages hump, things going smoothly. can draw similarities between things i'm learning things know @ least concept of. on earth going on following bit of code? form of constructor, or anonymous object?

something obj = new something() {   private static final int num = 3;    public void meth()   {     // w/e   } }; 

/**  * notice there's 1 thing in isn't defined:  * still needs public abstract void triggerevent();  */ public abstract static class topbutton extends jpanel implements mouselistener {         protected buttonpanel parent;         private string text;         public topbutton(buttonpanel bp, string text) { parent = bp; this.text = text; addmouselistener(this); }         public void mouseclicked(mouseevent e) { triggerevent(); }         public void mouseentered(mouseevent e) { }         public void mouseexited(mouseevent e) { }         public void mousepressed(mouseevent e) { }         public void mousereleased(mouseevent e) { }         public abstract void triggerevent();         public void paintcomponent(graphics g) {             super.paintcomponent(g);             color oldcolor = g.getcolor();             font oldfont = g.getfont();                 font newfont = new font(oldfont.getname(),oldfont.getstyle(),oldfont.getsize());                 g.setfont(newfont);                 g.setcolor(color.black);                 g.drawstring(text, 20, 20);             g.setfont(oldfont);             g.setcolor(oldcolor);         }     } 

now, when define buttons, this. providing 1 line needs, thing makes different others. make new file each one, , define new class each one. simpler.

private static void loadbuttonpanelbuttons() {     /* button should tell parent bring save screen */     topbutton save = new topbutton(buttonpanel,"save") {         public void triggerevent() { parent.triggersave(); }     };     save.setborder(lineborder.createblacklineborder());     buttonpanel.add(save);      /* button should tell parent bring load screen */     topbutton load = new topbutton(buttonpanel,"load") {         public void triggerevent() { parent.triggerload(); }     };     load.setborder(lineborder.createblacklineborder());     buttonpanel.add(load);      topbutton addtile = new topbutton(buttonpanel,"add tile") {         public void triggerevent() { parent.triggeraddtile(); }     };     addtile.setborder(lineborder.createblacklineborder());     buttonpanel.add(addtile);      topbutton savetiles = new topbutton(buttonpanel,"save tiles") {         public void triggerevent() { parent.triggerstylesave(); }     };     savetiles.setborder(lineborder.createblacklineborder());     buttonpanel.add(savetiles); } 

now, when handle buttons being pressed, remember in definition of topbutton... there was

    public void mouseclicked(mouseevent e) { triggerevent(); } 

we know triggerevent() gets defined. can define on per-button basis, , when panel gets clicked, no matter defined triggerevent() be, gets called.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -