下面列出了怎么用javax.swing.JApplet的API类实例代码及写法,或者点击链接到github查看源代码。
private Component getLayeredPane() {
Container parent = null;
if (this.owner != null) {
parent = this.owner instanceof Container ? (Container) this.owner : this.owner.getParent();
}
for (Container p = parent; p != null; p = p.getParent()) {
if (p instanceof JRootPane) {
if (p.getParent() instanceof JInternalFrame) {
continue;
}
parent = ((JRootPane) p).getLayeredPane();
} else if (p instanceof Window) {
if (parent == null) {
parent = p;
}
break;
} else if (p instanceof JApplet) {
break;
}
}
return parent;
}
protected void populate() {
if (isDisposed()) { return; }
if (!populated) {
populated = true;
frame = SWT_AWT.new_Frame(this);
EventQueue.invokeLater(() -> {
applet = new JApplet();
if (PlatformHelper.isWindows()) {
applet.setFocusTraversalPolicy(new LayoutFocusTraversalPolicy());
}
frame.add(applet);
final Java2DDisplaySurface surface = createSwingComponent();
applet.getRootPane().getContentPane().add(surface);
WorkaroundForIssue2476.installOn(applet, surface);
WorkbenchHelper.asyncRun(() -> SwingControl.this.getParent().layout(true, true));
});
}
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
private void openDialog(final Runnable callback, boolean save){
JApplet applet = new JApplet(); // TODO fail safe
final JFileChooser fc = new JFileChooser(new File(path));
/*
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return callback.description();
}
@Override
public boolean accept(File f) {
return f.isDirectory() || callback.match(Gdx.files.absolute(f.getAbsolutePath()));
}
});
*/
int r = save ? fc.showSaveDialog(applet) : fc.showOpenDialog(applet);
if(r == JFileChooser.APPROVE_OPTION){
final File file = fc.getSelectedFile();
path = file.getParent();
Gdx.app.postRunnable(new Runnable() {
@Override
public void run() {
lastFile = Gdx.files.absolute(file.getAbsolutePath());
callback.run();
}
});
}else{
// callback.cancel();
}
applet.destroy();
}
@Override
public void selectFolder(final Runnable callback) {
final boolean save = false;
JApplet applet = new JApplet(); // TODO fail safe
final JFileChooser fc = new JFileChooser(new File(path));
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "Folder";
}
@Override
public boolean accept(File f) {
return f.isDirectory();
}
});
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int r = save ? fc.showSaveDialog(applet) : fc.showOpenDialog(applet);
if(r == JFileChooser.APPROVE_OPTION){
final File file = fc.getSelectedFile();
path = file.getPath();
Gdx.app.postRunnable(new Runnable() {
@Override
public void run() {
lastFile = Gdx.files.absolute(file.getAbsolutePath());
callback.run();
}
});
}else{
// callback.cancel();
}
applet.destroy();
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String args[]) {
boolean exceptions = false;
try {
new JApplet();
} catch (HeadlessException e) {
exceptions = true;
}
if (!exceptions)
throw new RuntimeException("HeadlessException did not occur when expected");
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
/**
* Call this method to initialize an applet from your launcher class
* <code>MyAppletLauncher.init()</code> method.
*
* @param sClass class name in form "MyClass" for default package
* or "com.abc.MyClass" for class in some package
*
* @param appletParent parent applet from a launcher.
*
* @throws Throwable wrapper for many exceptions thrown while applet
* instantiation and calling init() method.
*/
public void initApplet(String sClass, final JApplet appletParent) throws Throwable {
Class<?> clazz = loadClass(sClass);
logInfo(LogArea.CONFIG, "initApplet() --> %s.init(); Loader: %s", sClass, clazz.getClassLoader());
applet = (JApplet)clazz.newInstance();
applet.setStub(new AppletStub() {
@Override
public boolean isActive() {
return appletParent.isActive();
}
@Override
public URL getDocumentBase() {
return appletParent.getDocumentBase();
}
@Override
public URL getCodeBase() {
return appletParent.getCodeBase();
}
@Override
public String getParameter(String name) {
return appletParent.getParameter(name);
}
@Override
public AppletContext getAppletContext() {
return appletParent.getAppletContext();
}
@Override
public void appletResize(int width, int height) {
appletParent.resize(width, height);
}
});
applet.init();
appletParent.setContentPane(applet.getContentPane());
}
/**
* @return the top level layered pane which contains the owner.
*/
private Container getLayeredPane() {
// The code below is copied from PopupFactory#LightWeightPopup#show()
Container parent = null;
if (owner != null) {
parent = owner instanceof Container ? (Container) owner : owner.getParent();
}
// Try to find a JLayeredPane and Window to add
for (Container p = parent; p != null; p = p.getParent()) {
if (p instanceof JRootPane) {
if (p.getParent() instanceof JInternalFrame) {
continue;
}
parent = ((JRootPane) p).getLayeredPane();
// Continue, so that if there is a higher JRootPane, we'll
// pick it up.
} else if (p instanceof Window) {
if (parent == null) {
parent = p;
}
break;
} else if (p instanceof JApplet) {
// Painting code stops at Applets, we don't want
// to add to a Component above an Applet otherwise
// you'll never see it painted.
break;
}
}
return parent;
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
/**
* Get the parent insets.
*
* @return the insets.
*/
private Insets getParentInsets() {
if (rootParent instanceof JApplet) {
return ((JApplet) rootParent).getInsets();
}
return ((Window) rootParent).getInsets();
}
/**
* Get the parent width.
*
* @return the width.
*/
private int getParentWidth() {
if (rootParent instanceof JApplet) {
return ((JApplet) rootParent).getWidth();
}
return ((Window) rootParent).getWidth();
}
public static void main(String[] args) {
// ensure that 4168475 does not regress
test4168475(Component.class);
// AWT classes (com.sun.beans.infos.ComponentBeanInfo)
test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
// Swing classes (dt.jar)
test(null, JApplet.class, JButton.class, JCheckBox.class);
// user defined classes
test(Boolean.TRUE, Wombat.class, Foo.class, FooBar.class);
}
/**
* Multi-line Constructor Javadoc Fold
*/
public testJavaFolds(String s) { //Multi-line Constructor Fold
button = new JButton();
applet = new JApplet();
}
/**
* Multi-line InnerClass Constructor Javadoc Fold
*/
public InnerClassThree(String s) { //Multi-line InnerClass Constructor Fold
button = new JButton();
applet = new JApplet();
}
/**
* Multi-line InnerClassInInnerClassTwo Constructor Javadoc Fold
*/
public InnerClassInInnerClassTwo(String s) { //Multi-line InnerClassInInnerClass Constructor Fold
button = new JButton();
applet = new JApplet();
}
/**
* Multi-line Constructor Javadoc Fold
*/
public testJavaFoldsNavigation(String s) { //Multi-line Constructor Fold
button = new JButton();
applet = new JApplet();
}
/**
* Multi-line Constructor Javadoc Fold
*/
public testJavaFolds(String s) { //Multi-line Constructor Fold
button = new JButton();
applet = new JApplet();
}
/**
* Multi-line InnerClass Constructor Javadoc Fold
*/
public InnerClassThree(String s) { //Multi-line InnerClass Constructor Fold
button = new JButton();
applet = new JApplet();
}
/**
* Multi-line InnerClassInInnerClassTwo Constructor Javadoc Fold
*/
public InnerClassInInnerClassTwo(String s) { //Multi-line InnerClassInInnerClass Constructor Fold
button = new JButton();
applet = new JApplet();
}
public JApplet getTopLevelContainer() {
return applet;
}