((ChildPanel)aPanel).aButton without casting like this,
is there any other way of doing it?
Code:
package hiding.test;
public class MainTest {
public static void main(String[] args) {
MainWindow aMainWindow = new MainWindow() {
public ChildPanel createPanel()
{
return new ChildPanel();
}
// --- 2nd ChildPanel
// public SecondChildPanel createPanel()
// {
// return new SecondChildPanel();
// }
// --- 3rdChildPanel
// public ThirdChildPanel createPanel()
// {
// return new ThirdChildPanel();
// }
};
}
}
package hiding.test;
public class ParentPanel {
public String aButton;
public ParentPanel() {
System.out.println("Hi, parent!");
init();
}
public void init() {
aButton = new String("aButtonAtParent");
}
}
package hiding.test;
public class ChildPanel extends ParentPanel {
public String aButton;
public ChildPanel() {
System.out.println("Hi, Child!");
init();
}
public void init() {
aButton = new String("aButtonAtChild");
}
}
package hiding.test;
public class MainWindow {
ParentPanel aPanel ;
public MainWindow() {
aPanel = createPanel();
System.out.println("aPanel.aButton=" + aPanel.aButton);
System.out.println("((ChildPanel)aPanel).aButton=" + ((ChildPanel)aPanel).aButton);
//--- so many instance of aPanel...
// aPanel.aButton
// aPanel.aLabel etc ...
}
public ParentPanel createPanel() {
return new ParentPanel();
}
}