- Loading...
...
Packages, java, javax, javafx, com, edu, org
Packages and friends are there to support java package, class access from script. The properties of the Packages variable are all the top-level Java packages, such as java and javax etc.
| Code Block | ||
|---|---|---|
| ||
var Vector = Packages.java.util.Vector; // but short-cuts defined for important package prefixes like // Packages.java, Packages.javax, Packages.com, // Packages.edu, Packages.javafx, Packages.org var JFrame = javax.swing.JFrame; // javax == Packages.javax var List = java.util.List; // java == Packages.java |
| Code Block | ||
|---|---|---|
| ||
jjs> Packages.java [JavaPackage java] jjs> java [JavaPackage java] jjs> java.util.Vector [JavaClass java.util.Vector] jjs> javax [JavaPackage javax] jjs> javax.swing.JFrame [JavaClass javax.swing.JFrame] |
...
JavaImporter constructor
Many times you may want to import many Java packages – but without having to "pollute" global scope. JavaImporter helps in such situations.
| Code Block | ||
|---|---|---|
| ||
// JavaImporter constructor accepts one or more Java Package objects
var imports = new JavaImporter(java.util, java.io);
// a JavaImporter can be used as a "with" expression object
with(imports) {
// classes from java.util and java.io packages can
// can be accessed by unqualified names
var map = new HashMap(); // refers to java.util.HashMap
map.put("js", "javascript");
map.put("java", "java");
map.put("cpp", "c++");
print(map);
var f = new File("."); // refers to java.io.File
print(f.getAbsolutePath());
} |