Hello all,
I'm trying to follow the examples given on wicketstuff.org for TabbedPanel
here: http://tinyurl.com/cpzkas
My code compiles fine, but when I run it I get a noclassdeffound error for
AbstractTab. Here's my snippet of code:
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.extensions.ajax.markup.html.tabs.*;
import org.apache.wicket.extensions.markup.html.tabs.*;
import org.apache.wicket.markup.html.panel.*;
import org.apache.wicket.model.*;
import java.util.*;
public class MainMenu extends WebPage{
/*Constructor*/
public MainMenu() {
List<ITab> tabs = new ArrayList<ITab>();
tabs.add(new AbstractTab(new Model("first tab")) {
@Override
public Panel getPanel(String panelID) {
return new MyPanel(panelID);
}
});
} // end constructor
and here's the corresponding runtime error:
WicketMessage: Method onFormSubmitted of interface
org.apache.wicket.markup.html.form.IFormSubmitListener targeted at
component [MarkupContainer [Component id = loginForm]] threw an
exception
Root cause:
java.lang.NoClassDefFoundError:
org/apache/wicket/extensions/markup/html/tabs/AbstractTab
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)........
This makes sense, as you can't directly instantiate an abstract class right?
You have to extend it and then implement the subclass. But I am following
the code example as closely as I can, and I still do not understand what I
am doing wrong.
Thanks,
Branden Tanga
Programmer / EHR Systems Engineer