Applet launching browser window in Java 6u10+

Finding a problem that appears to be limited to Java 6u10+. We have an applet which opens multiple JFrame windows, and in some cases, the user might click something in the applet that should trigger the browser to show a popup browser window with some web page. That part all works fine, and the browser popup shows in the front as it should in older java versions.
However, it appears that since 6u10, now that the applet process is separate from the browser, the popup window no longer can be brought to the front of the applets. It is being launched and brought to front with Javascript, but that only brings it in front of other browser windows, no longer in front of the applet. And the only thing I can find to resolve this is to minimize/iconify the applet windows, and that's not ideal to hide all windows.
Is there anyone else seeing this? Has anyone found any fix or work around for this (without minimizing all the applet windows)?
thanks

in Java 6u10 it works?
I guess it's similar. My applet calls showDocument(), but it is only passing a URL with query string parameters which the page called reads (via Javascript) and uses JS to call window.open() with the contents based on those parameters. I don't have access to the system to change the way the web works. The team that does has looked into it, and said they do make the tofront call in JS to push the browser window up. But it won't go up all the way, only above other browser windows, and not the applet window (which is a JFrame). Then the OS (windows in this case) starts blinking the taskbar button for the popup window for attention, but that's not helpful.
The only common factor in the reports were that it's Java 6u10 or higher. XP, Vista, FF, IE, all had the problem with 6u10+. And knowing how Sun changed the plug-in architecture, it actually makes some sense as to why this happens. However, this seems to be something that there is no way to fix short of Sun doing something. Or as mentioned, minimize my window just to let others show up, which is going to be annoying as a user to have to restore the window to go back.

Similar Messages

  • How can I output text in a browser window in JAVA?

    How can I output text in a browser window in JAVA?

    "response.getWriter().print()" is the most common method when using servlets

  • SetCookie Javascript call from applet pops up the launcher browser window

    Hi,
    With Jre 1.5 we started seeing a strange problem.
    From our applet code at the end of loading the applet we call a setcookie on our parent browser window (Browser window used to access our html/applet page).
    Once we make this call the browser window comes on top of our applet window.
    This was working fine earlier, with jre 1.5 we started seeing this issue. Any thoughts?
    A workaround is to call the toFront() function on the applet window's mainframe and set it in the front again. I was wondering if any one have seen similar problem.
    It happens only with IE on windows, no issue on netscape/mozilla.
    Thanks
    RT

    this is now resolved. My call to the transaction was slightly incorrect. This is now the working code:
    CONCATENATE 'http'
    '://' host ':' port
    '/sap/bc/gui/sap/its/webgui/?~transaction=*MIR4 RBKP-BELNR=5105600751' ';DYNP_OKCODE=SHOW'
    into url.

  • Opening up a new browser window in java

    So, i'm trying to open up a browser window to download the mac runtime for java, if the system is a mac. but because of microsoft not letting java to javascript communication i can't do it. anyone got any ideas?
    thanks,
    Pete

    Hi,
    you may check the platform in your applet with
    System.getProperty("os.name"); and then open new browser window with
    getAppletContext().showDocument(url_to_download, window_name);Regards,
    Martin

  • Closing the browser window in Java

    Hi All,
    My wireless application works on a PDA browser. The PDA browser doesn't support javascript. When user wants to logoff from the application, he clicks on the logoff button. After clicking it the current browser window should close.
    I am using XHTML-MP markup language to develop the page instead of HTML.
    I need a piece of code (Example Java code, not Javascript code) in order to close the current window browser.
    Any help will be welcome.
    Shrikant

    There is no such code, I hope.I wouldn't be sure about PDAs. I haven't used one yet. But logically, there should not be any code like that.

  • Opening  browser window from Java Swing

    Hi
    I am trying to open
    1) a word document on the click of a button from a Java-Swing based application running only on windows based system.
    Currently the code uses 'rundll' and calls 'a.doc'
    it requires that the application be installed and run only from a specific location in the windows' system.
    i would like to modify the code in one of the following ways
    1) open the word doc irrespective of its location and that of the executable jar which is trying to open this file
    2) upload the word document to a website and direct the application to open that webpage on button click, etc
    i believe that the latter may be simple but i do not have any idea about how to go about it
    i would appreciate some guidance about it.

    Hi,
    I was trying to run the code, for embeding the mozilla web browser in my java application which is running at linux fedoracore2. I set all the environment variables, like MOZILLA_FIVE_HOME and LD_LIBRARY_PATH. I can able to compile successfully but if i run the code, i got the error message like this
    Exception in thread "main" java.lang.Error: Untranslated exception
    at sun.nio.ch.Net.translateToSocketException(Net.java:63)
    at sun.nio.ch.Net.translateException(Net.java:79)
    at sun.nio.ch.Net.translateException(Net.java:85)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:61)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)
    at org.jdesktop.jdic.browser.MsgClient.<init>(Unknown Source)
    at org.jdesktop.jdic.browser.NativeEventThread.<init>(Unknown Source)
    at org.jdesktop.jdic.browser.WebBrowser.<clinit>(Unknown Source)
    at IEInJava.main(IEInJava.java:8)
    Caused by: java.net.SocketException: Unresolved address
    at sun.nio.ch.Net.translateToSocketException(Net.java:55)
    ... 8 more
    Caused by: java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:30)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:115)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    ... 5 more
    Thats the error.
    I could not find out, where i had made the mistake, i need help. Any suggestion and comments are most welcome. Thanks.

  • Opening a browser window with Java

    Is there a way I can open a Browser Window (with a specific html document) from Java? Thanks.

    Use Runtime.exec(cmd) with the following command:
    Under Windows 9x:
       command.com /C" start "urltofile.html"Under other Windows:
       cmd.exe /C [start] "urltofile.html"  (start is needed when url begins with 'http://")

  • Firefox runs as process, but won't launch browser window

    When I try to open Firefox I can see that the process is running in my task manager, but no browser window launches. I 've uninstalled and re-installed FF. I've also re-named my mozilla application data folder so it creates a new user profile before doing a fresh install. None of this helps.
    == This happened ==
    Every time Firefox opened
    == A week ago. Not sure what changed ==
    == User Agent ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4

    You need to make sure the operating system has a default browser.
    * http://kb.mozillazine.org/Default_browser

  • Can I get the URL of any other browser window in java

    Can I get the URL of any other browser window in java

    Hi, did you find the way to find the URL of the WSDL? I have the same problem.

  • Launching Browser Window from Web Deployed Forms App.

    Has anyone launched a new browser instance on the client within a web deployed forms application? We have browser based help within our application. In the client/server version, we used the built-in HOST command to launch the browser when the help button is clicked. However, this does not work in a web deployed situation. First, because we are deploying the application on a Solaris box, and it does not recognize the host command, and second even if we could it would launch the browser on the server. Can I do something with java or javascript?

    Why don't you use the web.show_document(url, '_blank') built-in?

  • When I launch firefox on my wife's computer it comes up "Error Launching Brouser window : no XBL Binding for browser". What does this mean? How do I fix it?

    On my wife's computer, when she tries to launch Firefox in order to connect to the internet, a window pops up that says "Error launching browser window: no XBL binding for the browser. How do I fix this? I am not very computer literate so please don't use too much computer lingo. Thanks for your help.

    Start Firefox in [[Safe Mode]] to check if one of your add-ons is causing your problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    See [[Troubleshooting extensions and themes]] and [[Troubleshooting plugins]]
    If it does work in Safe-mode then disable all your extensions and then try to find which is causing it by enabling one at a time until the problem reappears.
    You can use "Disable all add-ons" on the [[Safe mode]] start window to disable all extensions.
    You have to close and restart Firefox after each change via "File > Exit" (Mac: "Firefox > Quit"; Linux: "File > Quit")

  • Where's the Applet Launcher in 10.4 ?

    i installed 10.4 today, wiped the disk clean first
    i notice there's no applet launcher but there is Java Web Start, as far as i can tell it's the replacement for Applet Launcher ? well i cant get it lo launch anything
    sea monkey downloads the applet i'm interested in and it executes it so slowly now, it takes forever to start up
    so what now ? i am to paste the applet page URL into Web Start Add Entry window ? if i do so and look in organize entry the URL is where an Entry Name is expected and Entry URL still contains the Java Web Start intro URL, well at least the remove button works i can get rid of the mangled mess
    theoretically if it did work am i then supposed to click on Download Application to get the applet to download into Web Start
    call me what you will but this seems to be a nonworking "feature" and the Web Start apple page doesnt help any either
    what is it with apple ? and always having to muck with disk repairs and permissions before and after updates ? it all seems ridiculous that they cant come up with a cleaner installation process
    anyway thanks for any help

    ok ok
    if found it in the XCode install, didnt do that originally because my old powerbook's disk would be practically maxed out by the developer code
    applet launcher use to be in the utilities/java dirs in the past though but i thought i'd look for it on the xcode install
    but Web Start still seems to hav eth eproblems i discussed earlier

  • Jgol error with JNLP Applet Launcher

    I've been able to deploy my applet with the JNLP launcher and jogl, but whenever I try to use an animator in my program applet crashes with this error. Am I forgetting to add something in the code? Any help is appreciated.
    java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/jogamp/opengl/util/Animator
         at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NoClassDefFoundError: com/jogamp/opengl/util/Animator
         at java.lang.Class.getDeclaredConstructors0(Native Method)
         at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
         at java.lang.Class.getConstructor0(Unknown Source)
    and other stuff.
    My html code is
    <applet code="org.jdesktop.applet.util.JNLPAppletLauncher"
    width=600
    height=400
    archive="http://download.java.net/media/applet-launcher/applet-launcher.jar,
    http://download.java.net/media/jogl/jsr-231-2.x-webstart/nativewindow.all.jar,
    http://download.java.net/media/jogl/jsr-231-2.x-webstart/jogl.all.jar,
    http://download.java.net/media/gluegen/webstart-2.x/gluegen-rt.jar,
    https://sites.google.com/site/popesdev/ElementLearner.jar">
    <param name="codebase_lookup" value="false">
    <param name="subapplet.classname" value="ElementLearner">
    <param name="subapplet.displayname" value="ElementLearner">
    <param name="noddraw.check" value="true">
    <param name="progressbar" value="true">
    <param name="jnlpNumExtensions" value="1">
    <param name="jnlpExtension1"
    value="http://download.java.net/media/jogl/jsr-231-2.x-webstart/jogl-core.jnlp">
    <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
    <param name="jnlp_href" value="https://sites.google.com/site/popesdev/ElementLearner.jnlp">
    </applet>
    My jnlp file is
    <?xml version="1.0" encoding="utf-8"?>
    <jnlp href="ElementLearner.jnlp">
    <information>
    <title>ElementLearner</title>
    <vendor>Sun Microsystems, Inc.</vendor>
    <homepage href=""/>
    <description>ElementLearner</description>
    <description kind="short">Brian Paul's Gears demo ported to Java and JOGL.</description>
    <offline-allowed/>
    </information>
    <resources>
    <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
    <property name="sun.java2d.noddraw" value="true"/>
    <jar href="https://sites.google.com/site/popesdev/ElementLearner.jar" main="true"/>
    <extension name="jogl-all-awt" href="http://download.java.net/media/jogl/jsr-231-2.x-webstart/jogl-all-awt.jnlp" />
    </resources>
    <applet-desc
    name="ElementLearner"
    main-class="ElementLearner"
    width="600"
    height="600">
    </applet-desc>
    </jnlp>

    p0pes wrote:
    running JaNeLA gives me this error.
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'extension'. One of '{property, package}' is expected.
    The help here http://pscode.org/janela/help.html really didn't help too much.
    The help for that error states:
    This one fools a lot of people. It most often means that elements are out of the correct order in the launch file. Check the spelling, then try shifting the element further up the document. Did you check the file against the documentation for creating JNLP files? Did you try reordering the elements? Did you check the spelling of the element name?
    Note that those type of errors are produced by the J2SE based XML APIs when validating an XML document against an XSD. That means that there should be thousands of hits across the internet that discuss that error.
    Any other ideas?Some:
    - Do not expect the people here to spoon feed answers to you.
    - Describe what actual methods you used to try and resolve the error, rather than just state the tools are 'not that helpful'.
    - Mention whether the JNLP can be launched as a free floating app., like I suggested you try. After all, we are not psychic.
    It might be obvious that I am a little irritated by your reply. JaNeLA was primarily written by me, though it has significant contributions from another developer. It was written for the purpose of helping people to validate JNLP files and resources, but the user must be able to think for themselves & do some research, in order to get good use from it.
    When I initially saw the thread to do with a problem in regard to the JNLP applet launcher, I was about to pass it by completely. These forums are not for providing support for 3rd party APIs. But since the JNLP was obviously wrong I decided to give you some help on that, in the hope that would solve the problems.
    If it doesn't solve the problem, or if you continue with this 'helpless lamb' attitude, I will be opting out of the thread.

  • ActionPerformed method not working when applet is loaded in browser window.

    Hey there guys. I need urgent help from anybody who has experience in deploying websites whose code is in java.
    I am having two problems as mentioned below...
    first, I have made a simple login screen using java swing and JApplet. there is a single button to login. the action performed for this button accesses a private method to check the username and password which are there in atext file. the applet is working perfectly in appletviewer but when i load the applet in a Internet Explorer window using HTML's Applet tag, the button is giving no response at all even when i enter the correct username and password.
    I guess it is either not calling the private function that is checking the username and password from the tes=xt file or it can not access the file. Please help as soon as possible as this is related to my college project.
    I am attaching the code herewith. Suggestions to improve the coding are also welcome.
    the second problem is that while writing my second program for generating a form which registers a user the html is not at all loading the applet into the browser and also if im trying to access a file to write all the details into the console is showing numerous amount of error after i press the button which i can't not understand. the only thing i can understand is that it is related to file access permissions. If anybody could put some light on the working of worker threads and thread safe activities of SwingUtilities.invokeandWait method it would be really appreciable.
    import java.io.*;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    import javax.swing.plaf.*;
    <applet code = "UserLogin" width = 300 height = 150>
    </applet>
    public class UserLogin extends JApplet implements ActionListener, KeyListener {
         private JLabel lTitle;
         private JLabel lUsername, lPassword;
         private JTextField tUsername;
         private JPasswordField tPassword;
         private JButton bLogin;
         private JLabel lLinkRegister, lLinkForgot;
         private JLabel lEmpty = new JLabel(" ", JLabel.CENTER);
         private JPanel panel1, panel2;
         public void init() {
              try {
                   UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                   SwingUtilities.invokeAndWait(new Runnable() {
                        public void run() {
                             LoginGUI();
              catch(Exception e) {
                   e.printStackTrace();
         public void start() {
              setVisible(true);
         public void stop() {
              setVisible(false);
         private void LoginGUI() {
              super.setSize(300, 150);
              super.setBackground(Color.white);
              lTitle = new JLabel("<HTML><BODY><FONT FACE = \"COURIER NEW\" SIZE = 6 COLOR = BLUE>Login</FONT></BODY></HTML>", JLabel.CENTER);
              lUsername = new JLabel("Username : ", JLabel.CENTER);
              lPassword = new JLabel("Password : ", JLabel.CENTER);
              tUsername = new JTextField(15);
              tPassword = new JPasswordField(15);
              bLogin = new JButton("LOGIN");
    //          bLogin.setEnabled(false);
              bLogin.addActionListener(this);
              bLogin.addKeyListener(this);
              panel2 = new JPanel();
              GridBagLayout gbag = new GridBagLayout();
              GridBagConstraints gbc = new GridBagConstraints();
              panel2.setLayout(gbag);
              panel2.addKeyListener(this);
              gbc.anchor = GridBagConstraints.CENTER;
              panel2.setMinimumSize(new Dimension(300, 200));
              panel2.setMaximumSize(panel2.getMinimumSize());
              panel2.setPreferredSize(panel2.getMinimumSize());
              gbc.gridx = 1;
              gbc.gridy = 1;
              gbag.setConstraints(lUsername,gbc);
              panel2.add(lUsername);
              gbc.gridx = 2;
              gbc.gridy = 1;
              gbag.setConstraints(tUsername,gbc);
              panel2.add(tUsername);
              gbc.gridx = 1;
              gbc.gridy = 2;
              gbag.setConstraints(lPassword,gbc);
              panel2.add(lPassword);
              gbc.gridx = 2;
              gbc.gridy = 2;
              gbag.setConstraints(tPassword,gbc);
              panel2.add(tPassword);
              gbc.gridx = 2;
              gbc.gridy = 3;
              gbag.setConstraints(lEmpty,gbc);
              panel2.add(lEmpty);
              gbc.gridx = 2;
              gbc.gridy = 4;
              gbag.setConstraints(bLogin,gbc);
              panel2.add(bLogin);
              panel1 = new JPanel(new BorderLayout());
              panel1.add(lTitle, BorderLayout.NORTH);
              panel1.add(panel2, BorderLayout.CENTER);
              add(panel1);
              setVisible(true);
         public void keyReleased(KeyEvent ke) {}
         public void keyTyped(KeyEvent ke) {}
         public void keyPressed(KeyEvent ke) {
              if(ke.getKeyCode() == KeyEvent.VK_ENTER){
                   String username = tUsername.getText();
                   String password = new String(tPassword.getPassword());
                   if(username.length() == 0 || password.length() == 0) {
                        JOptionPane.showMessageDialog(new JFrame(),"You must enter a username and password to login", "Error", JOptionPane.ERROR_MESSAGE);
                   else {
                        boolean flag = checkUsernamePassword(username, password);
                        if(flag)
                             JOptionPane.showMessageDialog(new JFrame(),"Username and Password Accepted", "Access Granted", JOptionPane.INFORMATION_MESSAGE);
                        else
                             JOptionPane.showMessageDialog(new JFrame(),"Username or password Incorrect", "Access Denied", JOptionPane.INFORMATION_MESSAGE);
         public void actionPerformed(ActionEvent ae) {
              String gotCommand = ae.getActionCommand();
              if(gotCommand.equals("LOGIN")) {
                   String username = tUsername.getText();
                   String password = new String(tPassword.getPassword());
                   if(username.length() == 0 || password.length() == 0) {
                        JOptionPane.showMessageDialog(new JFrame(),"You must enter a username and password to login", "Error", JOptionPane.ERROR_MESSAGE);
                   else {
                        boolean flag = checkUsernamePassword(username, password);
                        if(flag)
                             JOptionPane.showMessageDialog(new JFrame(),"Username and Password Accepted", "Access Granted", JOptionPane.INFORMATION_MESSAGE);
                        else
                             JOptionPane.showMessageDialog(new JFrame(),"Username or password Incorrect", "Access Denied", JOptionPane.INFORMATION_MESSAGE);
         private boolean checkUsernamePassword(String username, String password) {
              String user = null, pswd = null;
              try {
                   FileInputStream fin = new FileInputStream("@data\\userpass.txt");
                   DataInputStream din = new DataInputStream(fin);
                   BufferedReader brin = new BufferedReader(new InputStreamReader(din));
                   user = (String) brin.readLine();
                   pswd = (String) brin.readLine();
              catch(IOException ioe) {
                   ioe.printStackTrace();
              if(username.equals(user) && password.equals(pswd))
                   return true;
              else
                   return false;
    }PLEASE HELP ME GUYS......

    RockAsh wrote:
    Hey Andrew, first of all sorry for that shout, it was un-intentional as i am new to posting topics on forums and didn't new that this kind of writing is meant as shouting. Cool.
    Secondly thank you for taking interest in my concern.No worries.
    Thirdly, as i mentioned before, I am reading i file for checking of username and password. the file is named as "userpass.txt" and is saved in the directory named "@data" which is kept in the same directory in which my class file resides.OK - server-side. That makes some sense, and makes things easier. The problem with your current code is that the applet will be looking for that directory on the end user's local file system. Of course the file does not exist there, so the applet will fail unless the the end user is using the same machine as the server is coming from.
    To get access to a resource on the server - the place the applet lives - requires an URL. In applets, URLs are relatively easy to form. It might be something along the lines of
    URL urlToPswrd = new URL(getCodeBase(), "@data/userpass.txt");
    InputStream is = urlToPswrd.openStream();
    DataInputStream din = new DataInputStream(is);
    So the problem is that it is reading the file and showing the specific output dialog box when i run it through appletviewer.. Huhh. What version of the SDK are you using? More recent applet viewers should report security exceptions if the File exists.
    ..but the same is not happening when i launch the applet in my browser window using the code as written belowHave you discovered how to open the Java Console in the browser yet? It is important.
    Also the answer to your second question
    Also, the entire approach to storing/restoring the password is potentially wrong. For instance, where is it supposed to be stored, on the server, or on the client?is that, as of now it is just my college project so all the data files and the username and password wiles will be stored on my laptop only i.e. on the client only. no server involved.OK, but understand that an applet ultimately does not make much sense unless deployed through a server. And the entire server/client distinction becomes very important, since that code would be searching for a non-existent file on the computer of the end user.

  • Java Applet Certificate Signing Window comes up BLANK!

    Hi Everyone I have a problem where
    Java Applet Certificate Signing Window comes up BLANK!
    It comes up as blank gray panel with the java logo on the upper left.
    the title bar says "Java Plugin Security Warning"
    And I can't figure out what to do to make it come up properly. I tried double clicking it dragging it around to make it repaint itself nothing happens.
    I have tried clearing temp files deleting files from IE, deleting cookies, clearing the history.
    Now i'm going to restart the computer and see if it works.
    It is supposed to give me buttons.
    1. Accept for this session
    2. Grant
    3. Deny
    4. View Certificate
    But does anyone have any idea how to address this issue ?
    Stephen

    You might try setting the trace level to 5 in the plugin's Java console and looking what it spits out while the applet is launching. I remember seeing loads of information in there including stuff relating to certificate validation. It might be helpful.
    The trick to getting this info during start up:
    1) get the plugin to load by directing your browser to page with a known applet. Write your own little stub applet and load it or go to http://java.sun.com/. There's an applet on that page.
    2) bring up the plugin's console if it's not already and then go to a blank page.
    3) set the trace level to 5 in the console. (just press the 5 key).
    4) go to the page that launches your applet. You'll have tons of information pour out in your console.
    Happy hunting.

Maybe you are looking for

  • Can I Auto format the first paragraph on every page of a 20 page document?

    So I have a document that is basically just a numbered list of 200 entries. There are 10 entries per page, making it a 20 page document. Unfortunately, every so often I am given an additional entry to add, which invariaby is to the middle of the docu

  • Using 802.1X and non-Cisco IP Phones

    Hi there, Having some questions about an 802.1x/non-Cisco ip phone setup and was hoping to find some answers/user-experience with this setup. Main questions i'm facing: 1) When using non-Cisco ip phones (eg Nortel or Siemens) and a previous authorize

  • Use filename as track / song name

    Is there an easy way to change each track (song) name in iTunes to the actual file name? I would prefer not to do it manualy or edit the metadata of the actual file. I saw some old scripts that claim to do this on OSX ( here: http://dougscripts.com/i

  • When brushing colour back in black-white the colour disappears as soons as I let go of the cursor

    I just started the trial version of PS. I made an adjustment layer in black and white. When I brush to get some of the colour back, the colour disappears as soon as I stop brushing. What do I do wrong? Thanks!

  • Basic Questions regarding InterMedia

    Hi, I have few questions related to this Intermedia. 1. is it client-server kind of software piece? I mean will it needed to be installed on each and every user's machine? 2. Just to make sure , it's a programmatic way to do the conversion from text