How does the JVM call Windows GDI Text functions?

I need to find out how the JVM calls Windows GDI functions for Java running on Windows. I am a programmer at an imaging software company and we "hook" to client applications to extract information for searching and indexing. Basically what we do is tell the app to refresh itself and then we intercept the text output functions to the GDI. Recently, when trying to image enable an Oracle app (Sun JVM or bastard version thereof), we failed to capture any text output. None of the documented MS GDI text output functions are being called to display that text. Does anyone with an intimate knowledge of the workings of the JVM on a Windows platform know how this is accomplished. I currently have calls pending at Sun and Microsoft, but sometimes these forums have more info than they do. Thanks in advance for any help you can provide. ([email protected])
Jason Nix

I would venture to say that SUN is generating its own
text. That would be necessary in order to handle all
of the sizing and layout management issues which
happen in Java real time, as opposed to Windows once
at compile time.Not likely. Font rendering is always done at runtime and it would be generally unwise to do it yourself given the availability of TrueType fonts and the highly optimized rendering engines. I would be shocked if Sun tried to do it themselves.
Chuck

Similar Messages

  • How does the notify() call work in Java?

    Hi!
    Can someone help me:
    How does the notify() call work in Java?
    H�var

    Java's Thread Tutorial
    JavaWorld: Introduction to Java threads
    IBM: Introduction to Java threads
    Google: java+threads+tutorial

  • How does the JVM recover from a java.lang.StackOverflowError?

    As far as I know that whenever a java.lang.OutOfMemoryError is thrown, the application is in an unknown state and only a restart of the JVM can fix this. How about java.lang.StackOverflowError? If uncaught, the calling thread is terminated for sure, but the other threads? Are there side-effects?

    In windows OS that thread will die and thats all.
    I think that in some unix systems the whole process
    is likely to fail.Not exactly. It's not nearly as dependent on the operating system as it is on the quality of the JVM implementation. StackOverflowErrors are tricky to handle correctly in all cases, but most JVMs (including Sun's) now properly handle the vast majority of them. FWIW, most unix-based or unix-like operating systems make it somewhat easier to deal with StackOverflowError than Windows, particularly Windows versions prior to Win2K.
    A thread that triggers a StackOverflowError can actually catch it and recover; the important thing to note is that if you want to keep executing code on that thread, you have to allow many or most of the activations (i.e., function calls) on the stack to be unwound. Otherwise, you'll quickly provoke another StackOverflowError since you will still be close to the end of the stack.

  • How does the JVM handle private class parameters in a utility class?

    If I have a class that is public and not labeled as static, but it's constructor is private so that it cannot be instantiated, and all of its parameters and methods are both private and static. The methods modify the private parameters. In this case, the code explicitly is avoiding a singleton pattern, so there isn't even a class being instantiated, so this is a true utility class.
    However, the static methods are accessible from multiple objects, and as far as I can tell, the JVM is persisting the parameters in memory beyond the specific thread that called the static method to begin with.
    The question I have is how the JVM handles this? Are these private parameters assigned memory and are indeed persisted independent of thread, since there is no class reference. I am working with byte code injection, and the assumption is that a direct reference to a static parameter is much faster to call than having to go through an object reference. Of course, from a programmer point of view, I much prefer the singleton pattern since I am so used to hang my hat on a class reference.
    Thanks.

    entguru wrote:
    However, the static methods are accessible from multiple objects...Not if the methods are private, as you seemed to indicate ("all of its parameters and methods are both private and static").
    Are these private parameters assigned memory and are indeed persisted independent of thread, since there is no class reference. There is a class reference. It refers to the class, and is obtainable via the class literal; e.g., MyClass.class.
    ~

  • How does the jvm handle drawing images outside an applet window?

    I have a question about an applet I want to optimize.
    Essentially the applet allows the user to scroll through a large map while viewing only a small portion of the map through the applet window.
    The map has a large array of circles with coordinates on the map that are drawn in their appropriate place in the applet window when the user scrolls the map.
    As it stands, the paint method loops through every circle in the array to draw them, but most of them are not visible in the window and end up getting drawn in a negative coordinate or a very large coordinate.
    My question is are these circles that are not seen in the applet window but are still calling drawCircle in the paint method putting a strain on the computer's graphics card?
    Would it be better if I looped through all circles and only called the drawCircle method on circles whose coordinates would be visible? Or would the extra step of checking each circle's coordinates before drawing be not worth as efficient?
    Any help would be appreciated.

    If the amount of stuff being rendered outside of the clip rectangle is small then it's usually not worth it to attempt to figure out what's being clipped and not draw it. If the clip rectangle represents only a small portion of the entire canvas that can be drawn, however, it's usually worthwhile to put in some logic to only draw what is necessary.
    Take JTextArea, for example. It could be displaying a text document thousands of lines long. Instead of rendering every line of text on every repaint operation, it contains the following logic:
    1. Get the current clip bounds (i.e. what part of the text area is "dirty" and must be repainted).
    2. Figure out what lines are displayed in the clip bounds. Some lines may be only partially visible (a line "halfway" scrolled down), but they need to be repainted too. If word wrap is disabled this is a very quick and cheap operation, but if word wrap is enabled, it's a little more complex.
    3. Only repaint those lines.
    This way, in the best-case scenario JTextArea only repaints a single line (the line the user is typing in). Worst case, it repaints the number of lines that can fit on the screen. But it never repaints too much.
    Anyway, I guess my advice would be: If it's cheap and easy to determine if something is out of the clip bounds, do it. If it's difficult to determine, do it only if you have a noticeable performance issue in your rendering code.

  • How does the so-called duplicated data saved?

    I am confused with this question now.
    If a DB supports duplicate data. My question is: if I put 10 record, their data with same key, would BDB save key once and data 10 times, or 10 (same)key and 10 data?
    I mean, the same key is "100001", different data are "a1", "a2", "a3", ..., "a10".
    How they were kept in DB file?
    like:
    Type A:
    "100001", "a1"
    "a2"
    "a3"
    "a10"
    or Type B:
    "100001", "a1"
    "100001", "a2"
    "100001", "a3"
    "100001", "a10"
    If they are stored in "Type A" style, that must mean we can save a lot of disk space. And I would like to use a complex key rather than simple key.

    Hi Lesslielee,
    If your db is configured to allow duplicate data items, only one such equivalent key (the first) is stored in the database.
    Best Regards,
    Bogdan Coman

  • How does the interclass call the outerclass's method?

    Compile the following code,
    public class q extends JFrame
    class c2 implements ActionListener{
    public void actionPerformed(ActionEvent e7){
    System.out.println(q.getTitle());
    Get the errors:
    non-static method getTitle() cannot be referenced from a static context
    System.out.println(q.getTitle());
    What can I do next step?
    Thanks.

    Accessing outer class
    public class q extends JFrame
        class c2 implements ActionListener{
            Object outerClass;
            // constructor
            public c2(Object o) {
                 outerClass = o;
            public void actionPerformed(ActionEvent e7){
                System.out.println(((q) outerClass).getTitle());
    } example to create an instance of c2:
    c2 c = new c2(this);

  • After recording text using the dragon dictation app, it is converted, it can be copied to the iOS system clipboard for use in any app, how does the user access the clipboard to retrive this information if it is no longer on the screen?

    after recording text using the Dragon dictation app, it can be copied to the iOS systme clipboard for use in any app, how does the user access the clipboard to retrive this information if it is no longer on the screen?

    You need to do a long-press in any data entry field, then select Paste.

  • How does the ADF support romote call method between two managed server ?

    How does the ADF support romote call method between two managed server ?

    You would usually use this as a WebService through the WSDL that is exposed.
    JDeveloper can help you create a Java Proxy to call the Web service if you point it to the WSDL file that was generated for your AM.
    Some other samples here:
    http://www.connotea.org/user/jdeveloper/tag/Service%20Interface

  • I currently have a PC with Windows Outlook.  If I add an iPad to the mix, how does the iPad interface with Windows Outlook?

    I currently have a PC with Windows Outlook.  If I add an iPad to the mix, how does the iPad interface with Windows Outlook?

    Isn't Outlook simply an email client or a software application on a computer? You can add an email account - whatever email provider that you use - right on the iPad. You can sync your Outlook contacts and calendar if that is what you are asking about, but Outlook itself has nothing to do with the iPad.
    Message was edited by: Demo

  • How does the "Windows 10 is free for its 1st year" offering affect licensing for enterprise customers paying Software Assurance?

    At the keynote on 21 January 2015, there was an announcement that Windows 10 was going to be a free upgrade for the first year of its release.
    As an enterprise customer,  I'd like to know about the impact of this announcement on Software Assurance. How is the cost of Windows changing for the enterprise?

    On Thu, 22 Jan 2015 15:25:03 +0000, colakid wrote:
    To sum it up SUBSCRIPTION FEE. for each computer in your enterprise this make more sense then what we have seen in the years. In sales we are starting to see free one year software, that requires to sign up for that free one year use, I am certain this
    is the case. I am entitled my opinion.
    You are entitled to your opinion, that doesn't make it correct.
    Personally, I'll go with Ed Bott since he has a much closer relationship
    with Microsoft than you do:
    http://www.zdnet.com/article/windows-10-whats-there-whats-missing/
    "One thing's for certain: you won't have to pay Microsoft an additional
    license fee. Microsoft's business model isn't changing. The upgrade is a
    perpetual license that's good for the supported life of the PC, and there's
    no plan at this time to offer Windows as a subscription."
    Paul Adare - FIM CM MVP
    Emacs is a nice operating system, but I prefer UNIX. - Tom Christiansen

  • How does the remote object connect to the correct host

    i have had a small doubt on how the remote reference manages to find the correct host to call the subsequent methods after a sucessful lookup.
    given a rebind or bind to the registry, the registry only stores the alias and the remote reference, now imagine a client calling a lookup on the registry would only get the remote reference, and not in which machine the remote object is found.
    what i wanted to know is how does the client or atleast the remote reference returned by the registry correctly connects to the machine where the remote object is located. i dont think its stored in the stub bcos the stub is a complie time stuff.
    i would be pleased to have a comprehensive answer for this.

    The membership in the group communication framework is always accurate and upto date.Up to date to the moment when you check. Not up to date to the moment when you make the RMI call.
    i could basically chk if this ip is available in the membership list.Complete waste of time. It doesn't matter what you check ahead of time, you are still trying to predict the future.
    And you still have to deal with ConnectException etc from the actual remote method call. And the way you will deal with that in your situation is exactly the same as what you were going to do if your ahead-of-time check failed.
    So just catch the exception(s) and deal with the problem there.

  • How does the iPod organize content?

    When I manually add content to my video iPod, how does the iPod know where to put it? Does it go into Movies, Music, TV shows, podcasts, etc? Does it rely on the mp3 id tags??? If yes, can I force a movie to go into the music folder my simply changing mp3 id3 tags?
    30G video ipod   Windows XP Pro  

    1 I by its tag
    2 depends on the files tag
    3 No...mp4 and m4a files have diffrent tags then mp3s
    In iTunes 6.0.5 if you change the "VIdeo Kind" it will sort correctly. Just right click file, and in the options tab change the setting under "VIdeo Kind".
    Besides iTunes if you want to change a tag you have to use a mp4/m4a tag editor program like "YAMB ver 2 preview" it can change your tags and much more and its free http://yamb.unite-video.com/
    you can try YAMB ver 1.6 but I don't think it works very well with tags.

  • How does the copy button work in safari for ipad (copy button under facebbok share button)?

    How does the copy button work in safari for ipad (copy button under facebbok share button)?

    On a website ...  
    Tap the Action icon bottom of that window. (white square with a right facing arrow) then tap Facebook.
    You should see the following depending on the what content the website can share.
    Copy / Mail / Message / Twitter / Print  / Bookmark

  • Does the Pages update include linking text boxes?

    Does the Pages update include linking text boxes? This was a great feature in the previous iWork: Pages version.

    Tamoshanter wrote:
    I agree. The latest version of Pages is marketed as a huge leap forward, and indeed it probably is...
    How so? It has a new coat of paint, Apple sells it as "New" and everyone thinks it is an "improvement"?
    How on earth can you not notice or ignore what is so obviously wrong with it?
    Peter

Maybe you are looking for

  • Lightroom 5 Printing under Mac OS 10.8 - crashes

    I have been using  Adobe Lightroom for several years - no problems. Recently I installed LR 5 on my imac  running OS 10.8. Two days ago I was able to print files. Suddenly Lightroom 5 crashed as it exceutes the print script. Have re-installed LR5 ser

  • Pb with simultaneous input Idocs

    Hi, When I receive an Idoc (specific), I have to control it and if it's ok, create a MM goods receipt + a SD delivery + a Goods issue for the delivery. It's working for always the same 3 materials. My problem is that sometimes, when I receive 3 or mo

  • Send Report to several e-mail addresses problem!

    Hi, I want to deliver a report to several e-mail addresses because every page is personalized and has to be delivered to a special e-mail address.What can i do? Please help! Thanks in advance. null

  • Apt is not a registered protocol

    I'm running kubuntu 11.04, and Seamonkey 2.8. When I attempt to download flashplayer 11 the message pops up "apt is not a registered protocol". This also happenes on flashplayer 10. When I download (10 or 11) as tar.gz and unpack it, I cannot find fl

  • MfE 2.7 won't save profile

    Help requrired please. Any one know a solution to solve a new Nokia E66 MfE issue? Enter in settings and choose to save, we get this message: Mandatory settings missing. Exit without saving new profile. Issue is mail for exchange will not save profil