java - Invocation target exception -


here code of program

import javax.swing.*; import java.awt.*; import java.awt.event.*;  class jadapterokno extends windowadapter {      public void windowclosing(windowevent e) {         system.exit(0);     } }  class calcbutton extends jbutton implements actionlistener {      kontroler k;      calcbutton(kontroler k, string nazwa, int s) {         super(nazwa);         this.k = k;         setfocusable(false);         this.setfont(new font("tahoma", font.bold, s));         addactionlistener(this);     }      public void actionperformed(actionevent er) {         k.dopisz(this);     } }  class infobutton extends jbutton implements actionlistener {      kontroler k;      infobutton(kontroler k, int s) {         super("info");         this.k = k;         setfocusable(false);         addactionlistener(this);         this.setfont(new font("tahoma", font.bold, s));     }      public void actionperformed(actionevent err) {         k.info();     } }  class clearbutton extends jbutton implements actionlistener {      kontroler k;      clearbutton(kontroler k, int s) {         super("c");         this.k = k;         setfocusable(false);         addactionlistener(this);         this.setfont(new font("tahoma", font.bold, s));     }      public void actionperformed(actionevent errr) {         k.clear();     } }  class wyswietlacz extends jtextpane implements keylistener {      kontroler z;      wyswietlacz(kontroler zz, int k) {         super();         z = zz;         setfocusable(true);         seteditable(false);         this.setfont(new font("tahoma", font.plain, k));         addkeylistener(this);     }      public void keypressed(keyevent evt) {         char c = evt.getkeychar();         if (c == '0' || c == '1') {             if (z.lorp) {                 if (z.lwyr.length() < 16) {                     z.lwyr.append(c);                 }             } else {                 if (z.pwyr.length() < 16) {                     z.pwyr.append(c);                 }             }         } else {             if (z.sign == '2' && c != '=' && z.lwyr.length() != 0) {                 z.lorp = false;                 z.sign = c;             }             if (z.sign != '2' && c == '=') {                 z.eval(true);             }         }         z.eval(false);         stringbuilder fin = new stringbuilder(z.lwyr);         if (z.sign != '2') {             fin.append(z.sign);             fin.append(z.pwyr);         }         settext(fin.tostring());     }      public void keyreleased(keyevent evt) {         ;     }      public void keytyped(keyevent evt) {         ;     } }  public class kontroler extends japplet {      jmenubar menubar;     /**      * < zmienna menubar      */     jmenu menu;     /**      * < zmienna menu      */     jmenuitem menuitem;     /**      * < zmienna element menu      */     stringbuilder lwyr;     /**      * < zmienna lewe wyrazenie obliczenia      */     stringbuilder pwyr;     /**      * < zmienna prawe wyrazenie obliczenia      */     final int modulo = (int) math.pow(2.0, 15.0);     /**      * < stala      */     char sign;     /**      * < dzialanie      */     boolean lorp;     int x;     int y;     calcbutton inf;     /**      * < przycisk gui      */     calcbutton zero;     /**      * < przycisk gui      */     calcbutton one;     /**      * < przycisk gui      */     calcbutton add;     /**      * < przycisk gui      */     calcbutton sub;     /**      * < przycisk gui      */     calcbutton div;     /**      * < przycisk gui      */     calcbutton mlt;     /**      * < przycisk gui      */     calcbutton modu;     /**      * < przycisk gui      */     clearbutton blank;     /**      * < przycisk gui      */     wyswietlacz wys;     /**      * < wyswietlacz      */     jpanel przyciski;     /**      * < panel guzikow      */     jpanel calosc;      /**      * < panel      */     /**      * metoda inicjalizujaca applet      */     public void st() {         menubar = new jmenubar();         menu = new jmenu("informacje");         menuitem = new jmenuitem("info");         menuitem.addactionlistener(             new actionlistener() {             public void actionperformed(actionevent e) {                 info();             }         });         menubar.add(menu);         menu.add(menuitem);         setjmenubar(menubar);         float xx = x / 240;         float yy = y / 320;         int avg = (int) ((xx + yy) / 2);         system.out.println(modulo);         setpreferredsize(new dimension(x, y));         inf = new calcbutton(this, "=", 15 * avg);         0 = new calcbutton(this, "0", 15 * avg);         1 = new calcbutton(this, "1", 15 * avg);         add = new calcbutton(this, "+", 15 * avg);         sub = new calcbutton(this, "-", 15 * avg);         div = new calcbutton(this, "/", 15 * avg);         mlt = new calcbutton(this, "*", 15 * avg);         modu = new calcbutton(this, "%", 15 * avg);         blank = new clearbutton(this, 20 * avg);         wys = new wyswietlacz(this, 15 * avg);         wys.setpreferredsize(new dimension(x, (int) (y / 4)));         przyciski = new jpanel();         przyciski.setpreferredsize(new dimension(x, x));         przyciski.setlayout(new gridlayout(3, 3));         przyciski.add(zero);         przyciski.add(one);         przyciski.add(add);         przyciski.add(sub);         przyciski.add(mlt);         przyciski.add(div);         przyciski.add(modu);         przyciski.add(inf);         przyciski.add(blank);         przyciski.setfocusable(false);         calosc = new jpanel();         calosc.setlayout(new boxlayout(calosc, boxlayout.y_axis));         calosc.add(wys);         calosc.add(przyciski);         calosc.setpreferredsize(new dimension(x, y));         calosc.setfocusable(false);         add(calosc);         setfocusable(false);     }      public void init() {         st();     }      public void destroy() {         ;     }      public void stop() {         ;     }      kontroler() {         this.lwyr = new stringbuilder();         this.pwyr = new stringbuilder();         this.sign = '2';         this.lorp = true;         this.x = 240;         this.y = 320;      }      kontroler(int x, int y) {         if (x < 240 || y < 320) {             joptionpane.showmessagedialog(null,                 "program nie dziala przy tak malej wielkosci okna");             system.exit(0);         }         this.lwyr = new stringbuilder();         this.pwyr = new stringbuilder();         this.sign = '2';         this.lorp = true;         this.x = x;         this.y = y;     }      void info() {         joptionpane.showmessagedialog(null, "calc v1.1");     }      void dopisz(calcbutton c) {         string actual = c.gettext();         char ac = actual.charat(0);         if (ac == '0' || ac == '1') {             if (lorp) {                 if (lwyr.length() < 16) {                     lwyr.append(ac);                 }             } else {                 if (pwyr.length() < 16) {                     pwyr.append(ac);                 }             }         } else {             if (sign == '2' && ac != '=' && lwyr.length() != 0) {                 lorp = false;                 sign = ac;             }             if (sign != '2' && ac == '=') {                 eval(true);             }         }         eval(false);         stringbuilder fin = new stringbuilder(lwyr);         if (sign != '2') {             fin.append(sign);             fin.append(pwyr);         }         c.k.wys.settext(fin.tostring());     }      void clear() {         this.lwyr = new stringbuilder();         this.pwyr = new stringbuilder();         this.wys.settext("");     }      void eval(boolean t) {         int l;         int p;         if (lwyr.length() == 0) {             return;         }         if (t || (lwyr.length() == 16 && pwyr.length() == 16 && sign != '2')) {             if (pwyr.length() == 0) {                 pwyr = lwyr;             }             l = integer.parseint(integer.valueof(this.lwyr.tostring(), 2).tostring());             p = integer.parseint(integer.valueof(this.pwyr.tostring(), 2).tostring());             if (l == 0 && p == 0) {                 lwyr = new stringbuilder();                 pwyr = new stringbuilder();                 sign = '2';                 this.lorp = true;             }             switch (this.sign) {                 case '+':                     this.lwyr = new stringbuilder(integer.tostring((l + p) % modulo, 2));                     break;                 case '-':                     this.lwyr = new stringbuilder(integer.tostring((l - p) % modulo, 2));                     break;                 case '*':                     this.lwyr = new stringbuilder(integer.tostring((l * p) % modulo, 2));                     break;                 case '/':                     this.lwyr = new stringbuilder(integer.tostring((l / p) % modulo, 2));                     break;                 case '%':                     this.lwyr = new stringbuilder(integer.tostring((l % p) % modulo, 2));                     break;             }             pwyr = new stringbuilder();             sign = '2';             this.lorp = true;         }      }      /**      * metoda main      */     public static void main(string[] args) {         jframe f = new jframe();         kontroler k;         if (args.length == 0) {             k = new kontroler();             f.add(k);             k.init();         } else {             k = new kontroler(integer.parseint(args[0]), integer.parseint(args[1]));             f.add(k);             k.init();         }         f.pack();         f.setvisible(true);         f.setresizable(false);     } } 

here full exception

basic: exception: java.lang.reflect.invocationtargetexception. java.lang.runtimeexception: java.lang.reflect.invocationtargetexception     @ com.sun.deploy.uitoolkit.impl.awt.awtappletadapter.runonedtandwait(unknown source)     @ com.sun.deploy.uitoolkit.impl.awt.awtappletadapter.instantiateapplet(unknown source)     @ sun.plugin2.applet.plugin2manager.initappletadapter(unknown source)     @ sun.plugin2.applet.plugin2manager$appletexecutionrunnable.run(unknown source)     @ java.lang.thread.run(unknown source) caused by: java.lang.reflect.invocationtargetexception     @ com.sun.deploy.uitoolkit.impl.awt.oldpluginawtutil.invokeandwait(unknown source)     ... 5 more caused by: java.lang.runtimeexception: java.lang.illegalaccessexception:     class com.sun.deploy.uitoolkit.impl.awt.awtappletadapter$1 can not         access member of class kontroler modifiers ""     @ com.sun.deploy.uitoolkit.impl.awt.awtappletadapter$1.run(unknown source)     @ java.awt.event.invocationevent.dispatch(unknown source)     @ java.awt.eventqueue.dispatcheventimpl(unknown source)     @ java.awt.eventqueue.access$200(unknown source)     @ java.awt.eventqueue$3.run(unknown source)     @ java.awt.eventqueue$3.run(unknown source)     @ java.security.accesscontroller.doprivileged(native method)     @ java.security.protectiondomain$1.dointersectionprivilege(unknown source)     @ java.security.protectiondomain$1.dointersectionprivilege(unknown source)     @ java.awt.eventqueue$4.run(unknown source)     @ java.awt.eventqueue$4.run(unknown source)     @ java.security.accesscontroller.doprivileged(native method)     @ java.security.protectiondomain$1.dointersectionprivilege(unknown source)     @ java.awt.eventqueue.dispatchevent(unknown source)     @ java.awt.eventdispatchthread.pumponeeventforfilters(unknown source)     @ java.awt.eventdispatchthread.pumpeventsforfilter(unknown source)     @ java.awt.eventdispatchthread.pumpeventsforhierarchy(unknown source)     @ java.awt.eventdispatchthread.pumpevents(unknown source)     @ java.awt.eventdispatchthread.pumpevents(unknown source)     @ java.awt.eventdispatchthread.run(unknown source) caused by: java.lang.illegalaccessexception:     class com.sun.deploy.uitoolkit.impl.awt.awtappletadapter$1 can not         access member of class kontroler modifiers ""     @ sun.reflect.reflection.ensurememberaccess(unknown source)     @ java.lang.class.newinstance0(unknown source)     @ java.lang.class.newinstance(unknown source)     ... 20 more 

when run in "normally", works; when try run applet in web browsers, recive invocation target exception? mistake? can't see exception starts because don't have details in java console

the root cause of exception, illegalaccessexception, prompts quick review of what applets can , cannot do, applet doesn't appear violate sandbox.

running appletviewer, shown here, shows following error, resolved making kontroler constructors public.

 load: kontroler not public or has no public constructor. java.lang.illegalaccessexception: class sun.applet.appletpanel can not     access member of class kontroler modifiers "" ... 

in addition,


Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -