[Javalist] Classloader anonymous gond
istvan.ketler at lhsystems.com
istvan.ketler at lhsystems.com
2013. Ápr. 15., H, 18:47:00 CEST
Ezt a metódust hívom meg, és ennek a new ActionListener során hasal el:
public void init() {
setLayout(new BorderLayout());
add(new JLabel("Fix label"), BorderLayout.NORTH);
JButton button = new JButton("Add label");
button.addActionListener(
new ActionListener() {
/**
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
@Override
public void actionPerformed(final ActionEvent $e) {
add(new JLabel("Dynamically added label"), BorderLayout.CENTER);
revalidate();
repaint();
}
}
);
add(button, BorderLayout.SOUTH);
}
A meghívás a Jide docking és action framework-öt is használva így történik:
public void actionPerformed(final ActionEvent $e) {
LegEditorPlugin.getInstance().getLogger().logAction("Start legeditor action initiated.");
LegEditorPlugin.getInstance().getViewController().setVisible(true);
}
A ViewController mozgósítja a DockableFrame setVisible metódusát, amiben ez van:
synchronized (_initCalled) {
if (!_initCalled) {
_associatedView.init();
_initCalled = true;
}
}
A kivétel pedig azért jön, mert nincs betöltve a myClassName$1 osztály (az anonymous class), mire meghívja a classloader-emet, és ennek a findClass metódusa szomorodik el teljes joggal, hiszen ezt az osztályt csak a befogadó osztály példányával együtt lehetne példányosítani.
java.lang.reflect.InvocationTargetException
Caused by: java.lang.NoClassDefFoundError: com/lsyh/nlpgui/legeditor/view/LegEditorView$1
Caused by: java.lang.ClassNotFoundException: com.lsyh.nlpgui.legeditor.view.LegEditorView$1
Amikor a befogadó osztályt betöltöm, esetleg akkor kéne betölteni a benne lévő anonymous osztályokat is, de azt hogyan? Ugorjak neki a fájlrendszernek, keressem a $N végűeket?. Látszólag az URLClassLoader és felmenői semmi ilyesmit nem tesznek.
Üdv,
Iván
______________________________
István Ketler
Senior Consultant
Lufthansa Systems Hungária Kft.
GUI Service Center
Mobile Solutions Team, Development Center Danube
Neumann János u. 1/e
1117 Budapest
Hungary
Phone: +36 1 887-2815
Fax: +36 1 887-0577
Mobile: +36 30 600-4936
E-mail: istvan.ketler at LHsystems.com<mailto:istvan.ketler at LHsystems.com>
www.LHsystems.com<http://www.lhsystems.com/>
From: javalist-bounces at lists.javaforum.hu [mailto:javalist-bounces at lists.javaforum.hu] On Behalf Of Peter Verhas
Sent: Monday, April 15, 2013 5:30 PM
To: Java lista
Subject: Re: [Javalist] Classloader anonymous gond
Ha anonymous akkor hol adod meg a nevet ami nincs es mit?
On Monday, April 15, 2013, wrote:
Anonymous
Sent from my cellular
From: Peter Verhas [mailto:peter at verhas.com<javascript:_e(%7b%7d,%20'cvml',%20'peter at verhas.com');>]
Sent: Monday, April 15, 2013 05:22 PM
To: Java lista <javalist at lists.javaforum.hu<javascript:_e(%7b%7d,%20'cvml',%20'javalist at lists.javaforum.hu');>>
Subject: Re: [Javalist] Classloader anonymous gond
Abstract vagy anonymous?
On Monday, April 15, 2013, wrote:
Nem, a hivott metodus definial egy jbuttont amihez hozzaadok egy action lostenert
Ha a listener egy betoltheto osztaly akkor muxik es ha kell peldanyosit
Ha a listener egy anonymous osztaly akkor elhasal, nem tudja betolteni a name$1 osztalyt
Sent from my cellular
From: Peter Verhas [mailto:peter at verhas.com]
Sent: Monday, April 15, 2013 05:14 PM
To: Java lista <javalist at lists.javaforum.hu<mailto:javalist at lists.javaforum.hu>>
Subject: Re: [Javalist] Classloader anonymous gond
És ha jól értem akkor hasal el, amikor a metódus egy abstract osztályban van definiálva, amelyiket kiterjesztettél, és a kiterjesztett nem abstract osztályt adtad meg az XML-ben, mint példányosítandó osztályt, meg a metódust, amit az abstract-ból örökölt.
--
Dipl. Ing. Peter Verhas
peter at verhas.com<mailto:peter at verhas.com>
+41791542095
skype: verhas
On 2013.04.15., at 16:58, <istvan.ketler at lhsystems.com<mailto:istvan.ketler at lhsystems.com>> wrote:
Context
Frameworkot irok
Dinamikusan szedi ossze a plugineket
Xml-ben action-oket definial classname es metodusname megadasaval
Feluletre gombokat teszek ha megnyomjak akkor a korabban peldanyositott osztaly korabban letrehozott es eltarolt Method-jara adok ki egy invoke-ot
Thx
Ivan
Sent from my cellular
Sitz der Gesellschaft / Corporate Headquarters: Lufthansa Systems Hungaria Kft, Budapest, Fovarosi Birosag 01-09-463417
Geschaeftsfuehrung / Management Board: Peter Sipos
From: KETLER, ISTVAN
Sent: Monday, April 15, 2013 04:51 PM
To: 'javalist at lists.javaforum.hu' <javalist at lists.javaforum.hu<mailto:javalist at lists.javaforum.hu>>
Subject: Re: [Javalist] Classloader anonymous gond
Egy listenert allitok be egy abban a metodusban deklaralt buttonhoz
Sent from my cellular
--
Verhás Péter
ügyvezető
Verhás & Verhás Szoftver Manufaktúra Kft.
peter at verhas.com<mailto:peter at verhas.com>
t: +36(30)9306805
skype: verhas
Sitz der Gesellschaft / Corporate Headquarters: Lufthansa Systems Hungaria Kft, Budapest, Fovarosi Birosag 01-09-463417
Geschaeftsfuehrung / Management Board: Peter Sipos
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20130415/298f4377/attachment.html>
További információk a(z) Javalist levelezőlistáról