// This example is from the book _JavaScript: The Definitive Guide_. // Written by David Flanagan. Copyright (c) 1996 O'Reilly & Associates. // This example is provided WITHOUT WARRANTY either expressed or implied. // You may study, use, modify, and distribute it for any purpose. // This is a Java code, not JavaScript code. import netscape.javascript.JSObject; // these are the classes we'll use import java.applet.Applet; import java.io.OutputStream; // An output stream that sends HTML text to a newly created Web browser window. public class HTMLOutputStream extends OutputStream { JSObject main_window; // the initial browser window JSObject window; // the new window we create JSObject document; // the document of that new window static int window_num =index.html 0; // used to give each new window a unique name // To create a new HTMLOutputStream, you must specify the applet that // will use it (this specifies a browser window) and the desired size // for the new window. public HTMLOutputStream(Applet applet, int width, int height) { // get main browser window from the applet with JSObject.getWindow() main_window = JSObject.getWindow(applet); // use JSObject.eval() to create a new window window = (JSObject) main_window.eval("self.open(''," + "'HTMLOutputStream" + window_num++ + "'," + "'menubar,status,resizable,scrollbars," + "width=" + width + ",height=" + height + "')"); // use JSObject.getMember() to get the document of this new window document = (JSObject) window.getMember("document"); // Then use JSObject.call() to open this document. document.call("open", null); } // This is the write() method required for all OutputStream subclasses. public void write(byte[] chars, int offset, int length) { // Create a string from the specified bytes String s = new String(chars, 0, offset, length); // Store the string in an array for use with JSObject.call() Object[] args = { s }; // check to see if the window has been closed boolean closed = ((Boolean)window.getMember("closed")).booleanValue(); // If not, use JSObject.call() to invoke document.write() if (!closed) document.call("write", args); } // Here are two variants on the above method, also required. public void write(byte[] chars) { write(chars, 0, chars.length); } public void write(int c) { byte[] chars = {(byte)c}; write(chars, 0, 1); } // When the stream is closed, use JSObject.call() to call Document.close public void close() { document.call("close", null); } // This method is unique to HTMLOutputStream. If the new window is // still open, use JSObject.call() to invoke Window.close() to close it. public void close_window() { boolean closed = ((Boolean)window.getMember("closed")).booleanValue(); if (!closed) window.call("close", null); } }
file: /Techref/language/java/SCRIPT/definitive/examples/19.5.txt, 3KB, , updated: 1997/4/4 10:59, local time: 2024/11/30 02:19,
18.117.158.10:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://techref.massmind.org/Techref/language/java/SCRIPT/definitive/examples/19.5.txt"> language java SCRIPT definitive examples 19</A> |
Did you find what you needed? |
Welcome to massmind.org! |
Welcome to techref.massmind.org! |
.