S
Sameer
Why I can't 'add a window to a container'?
Please see the code-
import java.awt.*;
public final class SplashScreen extends Frame {
private Image fImage;
public SplashScreen(String aImageId) {
if (aImageId == null || aImageId.trim().length() == 0) {
throw new IllegalArgumentException(
"Image Id does not have content.");
}
Toolkit tk = Toolkit.getDefaultToolkit();
fImage = tk.createImage(aImageId);
add(new SplashWindow(this, fImage), BorderLayout.CENTER);
}
private class SplashWindow extends Window {
private Image fImage;
SplashWindow(Frame aParent, Image aImage) {
super(aParent);
fImage = aImage;
add(new ImageViewer(fImage));
setVisible(true);
}
}
}
When it is executed using another Launcher programme, the stack trace is-
java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.addImpl(Container.java:616)
at java.awt.Container.add(Container.java:518)
at SplashScreen.<init>(SplashScreen.java:18)
at Launcher.main(Launcher.java:12)
If it is not possible, what I have to do?
How to modify this programme to create a SplashScreen class?
Please see the code-
import java.awt.*;
public final class SplashScreen extends Frame {
private Image fImage;
public SplashScreen(String aImageId) {
if (aImageId == null || aImageId.trim().length() == 0) {
throw new IllegalArgumentException(
"Image Id does not have content.");
}
Toolkit tk = Toolkit.getDefaultToolkit();
fImage = tk.createImage(aImageId);
add(new SplashWindow(this, fImage), BorderLayout.CENTER);
}
private class SplashWindow extends Window {
private Image fImage;
SplashWindow(Frame aParent, Image aImage) {
super(aParent);
fImage = aImage;
add(new ImageViewer(fImage));
setVisible(true);
}
}
}
When it is executed using another Launcher programme, the stack trace is-
java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.addImpl(Container.java:616)
at java.awt.Container.add(Container.java:518)
at SplashScreen.<init>(SplashScreen.java:18)
at Launcher.main(Launcher.java:12)
If it is not possible, what I have to do?
How to modify this programme to create a SplashScreen class?