IP Library Granted Patent US 7,716,654
Granted Patent B2
US 7,716,654 · App. 10/871,097 · Granted May 11, 2010

Simulation of multi top-level graphical containers in computing environments

Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,716,654
App. No.
10/871,097
Granted
May 11, 2010
Kind
B2
Abstract

Techniques for simulation of multi top-level graphical-containers (e.g., frames) in an object-oriented computing environment are disclosed. A Multi Top-level Graphical-Container Simulator (MTGS) can be provided to simulate multi top-level graphical container support for applications that expect to use a plurality of top-level graphical containers (e.g., frames, windows). A MTGS may be implemented as a layer between a GUI-based application and an operating system and/or hardware/device with limited or virtually no graphical support capability. The Multi Top-level Graphical Simulator (MTGS) can effectively isolate the operating systems and/or hardware/device from the GUI-based application, and yet hide this simulation from the operating system and/or hardware/device. MTGS may be implemented in a platform independent programming language (e.g., Java™ programming language using a set of Java™ classes which have been provided in the Java™ Swing development toolkit.

Claims (66)

1. A computer-implemented data processing system including a processor and memory which executes an application program running in the memory that uses a plurality of top-level graphical-containers, said computer-implemented data processing system performing a method comprising the steps of:

receiving a request from said application program for a top-level graphical-container, wherein said application program is implemented in the Java programming language using the Swing GUI development tool-kit;

determining whether a native top-level graphical-container has already been generated;

if it is determined that a native top-level graphical-container has not already been generated, sending the request directly to the graphical component of an operating system or writing the top-level graphical-container directly to a hardware component;

if it is determined that a native top-level graphical-container has already been generated, generating an instance of an internal virtual frame object that simulates a native top-level graphical-container; and

returning an acknowledgment indicating that a top-level graphical-container exists to said requesting application program.

2. A computer-implemented data processing system as recited in claim 1 , wherein said application program is implemented in a platform-independent programming language.

3. A computer-implemented data processing system as recited in claim 2 , wherein said application program is implemented in using a Java GUI development tool-kit.

4. A computer-implemented data processing system as recited in claim 2 , wherein said Java GUI development tool-kit is a Swing toolkit.

5. A computer-implemented data processing system as recited in claim 1 ,

wherein said application program is implemented in a platform-independent programming language; and

said computer-implemented data processing system performs the method further comprising the steps of:

determining whether a native top-level container has been generated;

generating an instance of an internal frame object that represents a native top-level container when said determining determines that said native top-level container has already been generated.

6. A computer-implemented data processing system as recited in claim 5 , wherein said computer-implemented data processing system performs the method further comprising the step of:

generating a JInternalFrame object that represents a native top-level container.

7. A computer-implemented data processing system as recited in claim 6 , wherein said computer-implemented data processing system performing the method further comprising the steps of:

generating an instance of a virtual frame object that can delegate to said instance of said internal frame object.

8. A computer-implemented data processing system as recited in claim 7 , wherein said computer-implemented data processing system performs the method further comprising the steps of:

generating an instance of a JFrame object that can delegate to said JInternalFrame object; and

returning said instance of said JFrame to said application program.

9. A computer-implemented data processing system as recited in claim 8 , wherein said computer-implemented data processing system performs the method further comprising the steps of:

generating an internal desktop that can be virtually represented inside said generated native top-level frame.

10. A computer-implemented data processing system performing the method as recited in claim 9 , wherein said generating an internal desktop comprises instantiating a JDesktopPane object.

11. A computer-implemented data processing system performing the method as recited in claim 9 , wherein said method further comprises:

initializing said internal desktop for one or more graphical container management activities.

12. A computer-implemented multi top-level graphical-container apparatus including a memory and a processor for a processing environment that limits generation of top-level graphical-containers to only one top-level graphical container at a given time, wherein said multi top-level graphical-container apparatus:

receives a request from an application program for a top-level graphical-container, wherein said application program is implemented in the Java programming language using the Swing GUI development tool-kit;

determines whether a native top-level graphical-container has already been generated;

sends the request directly to the graphical component of an operating system or writes the top-level graphical-container directly to a hardware unit if the apparatus determines that the native top-level graphical-container has not already been generated;

generates an instance of an internal virtual frame object that simulates a native top-level graphical-container if the apparatus determines that a native top-level graphical-container has already been generated; and

returns an acknowledgment indicating that a top-level graphical-container exists to the requesting program.

13. A multi top-level graphical-container apparatus as recited in claim 12 , wherein said request is send by an application program.

14. A multi top-level graphical-container apparatus as recited in claim 13 , wherein said application program is implemented in a platform-independent programming language.

15. A multi top-level graphical-container apparatus as recited in claim 13 , wherein said application program is implemented in using a Java GUI development tool-kit.

16. A multi top-level graphical-container apparatus as recited in claim 15 , wherein said Java GUI development tool-kit is a Swing toolkit.

17. A multi top-level graphical-container apparatus as recited in claim 12 , wherein said multi top-level graphical-container is implemented as a software module written in the Java programming language, and said software module isolates a GUI-based Java application program from a native platform.

18. A multi top-level graphical-container apparatus as recited in claim 13 ,

wherein multi top-level graphical-container apparatus is further capable of:

determining whether a native top-level container has been generated;

generating an instance of an internal frame object that represents a native top-level container when said determining determines that said native top-level container has already been generated.

19. A multi top-level graphical-container apparatus as recited in claim 18 ,

wherein multi top-level graphical-container apparatus is further capable of:

generate an instance of a JInternalFrame object:

generating an instance of a JFrame object that can delegate to said JInternalFrame object; and

returning said instance of said JFrame to said application program.

20. A computer readable storage medium including computer program code for executing an application program that use a plurality of top-level graphical-containers, said computer readable storage medium comprising:

computer program code for receiving a request from said application program for a top-level graphical-container, wherein said application program is implemented in the Java programming language using the Swing GUI development tool-kit;

computer program code for determining whether a native top-level graphical-container has already been generated;

computer program code for sending the request directly to the graphical component of an operating system or writing the top-level graphical-container directly to a hardware unit if the code determines that the native top-level graphical-container has not already been generated;

computer program code for generating an instance of an internal virtual frame object that simulates a native top-level container if the code determines that a native top-level graphical-container has already been generated; and

computer program code for returning an acknowledgment indicating that a top-level graphical-container exists to said requesting application program.

21. A computer readable storage medium as recited in claim 20 , wherein said application program is implemented in a platform-independent programming language.

22. A computer readable storage medium as recited in claim 20 , wherein said application program is implemented in using a Java GUI development tool-kit.

23. A computer readable storage medium as recited in claim 22 , wherein said computer readable medium further comprises:

computer program code for generating an instance of a JInternalFrame object; and

computer program code for generating an instance of a JFrame object that can delegate to said JInternalFrame object; and

computer program code for returning said instance of said JFrame to said application program.

24. A computer readable storage medium as recited in claim 23 , wherein said computer readable medium further comprises:

computer program code for sending an acknowledgment to said application program, wherein said acknowledgment indicates to said application program that a top-level graphical-container has been generated even though only an internal frame has been generated, thereby allowing simulation of said multi top-level graphical-container to be hidden form said application program.

25. A computer-implemented data processing system as recited in claim 1 , wherein said computer-implemented data processing system performs the method comprising:

sending a request for creation of a top-level graphical-container to an operating system when said determining determines that a top-level graphical-container has not been generated; and

not sending a request for creation of a top-level graphical-container to an operating system when said determining determines that a top-level graphical-container has already been generated.

26. A computer-implemented data processing system performing the method as recited in claim 25 , wherein said operating system is a Windows operating system and said request is forwarded to a windowing manager in said Windows operating system.

27. A computer-implemented data processing system performing the method as recited in claim 1 , wherein said method further comprises:

writing directly to a frame buffer on a hardware component or a device to generate said top-level graphical-container.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037306/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2004
From: FLEMING, MICHAEL; CHIHIRO, SAITO; COURTNEY, JONATHAN D.; CALDER, BARTLEY H.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015238/0900 →
Continuity (1)
Related Publication 20050283757A1 · Dec 22, 2005