Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4765387

Unexpected behaviour of HTMLEditorKit Class

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P5 P5
    • 5.0
    • 1.4.0
    • client-libs
    • tiger
    • x86
    • windows_98

      flush();
              fw.close();
          }catch (Exception ex){
              System.err.println("Exception: " + ex);
          }
      }

          public static void main(String[] args) {
              new HTMLeditorTest();
          }


      ---------- END SOURCE ----------
      (Review ID: 163988)
      ======================================================================


      Name: sv35042 Date: 10/18/2002


      FULL PRODUCT VERSION :
      java version "1.4.1-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-beta-b14)
      Java HotSpot(TM) Client VM (build 1.4.1-beta-b14, mixed mode)


      FULL OPERATING SYSTEM VERSION :

      Windows 98 [versión 4.10.1998]

      ADDITIONAL OPERATING SYSTEMS :

      None

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      AuthenticAMD AMD-K6(tm) 3D processor 128Mb RAM

      Netscape Communicator 4.72
      MS Internet Explorer 4.0

      A DESCRIPTION OF THE PROBLEM :
      During the parsing from a Styled Document to a HTML Document, the HTMLEditorKit Class method insertHTML produces an output
      that break one word (ItalicUnderline) with a new line and that results in a space inside the word (Ital icUnderline) viewed in the
      browser.


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Execute the included programme HTMLeditorTest as is that reproduces the problem.


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Expected an output without unexpected new lines. See ItalicUnderline.

      //**************************************
      Actual Netscape Page Source View
      //**************************************
      <html>
        <head>

        </head>
        <body>
          <p>
            <div align="left">
              <img src="HLPGLOBE.GIF">
                 Heading <samp>3/09/02</samp> <samp>6:33</samp> <samp>1</samp> <samp>
      1/7</samp><br>

              <div align="left">
                <br>
                

                <div align="left">
                  <hr>
                  

                  <div align="left">
                    The <b>one</b> <i>wonderful</i> <u>Cover</u><br>

                    <div align="left">
                      <b><i>BoldItalic</i></b> <b><u>BoldUnderline</u></b> <i><u>Ital
                      icUnderline</u></i> <b><i><u>all</u></i></b><br>

                      <div align="center">
                        <br>
                        

                        <div align="center">
                          <b>&#12549;&#12550;&#12551;&#12552;&#12553;&#12554;</b><br>

                          <div align="left">
                            <img src="eses041.gif">
                            <br>
                            

                            <div align="left">
                              <b>&#12353;&#12354;&#12355;&#12359;&#12362;&#12365;</b><br>


                              <div align="left">
                                <b>&#1511;&#1512;&#1488;&#1496;&#1493;&#1503;&#1501;&#1508;</b><br>


                                <div align="left">
                                  <img src="eses011.gif">
                                  <br>
                                  

                                  <div align="left">
                                    <br>
                                    

                                    <div align="center">
                                      <b>&#1590;&#1589;&#1579;&#1602;&#1601;&#1594;&#1593;
      &#1582;&#1581;</b><br>

                                      <div align="right">
                                        <br>
                                        

                                        <div align="right">
                                          <br>
                                          

                                          <div align="right">
                                            <br>
                                            

                                            <div align="right">
                                              <br>
                                              

                                              <div align="right">
                                                <br>
                                                

                                                <div align="right">
                                                  <br>
                                                  

                                                  <div align="right">
                                                    <br>
                                                    

                                                    <div align="right">
                                                      <br>
                                                      

                                                      <div align="right">
                                                        <br>
                                                        

                                                        <div align="right">
                                                          <br>
                                                          

                                                          <div align="right">
                                                            <br>
                                                            

                                                            <div align="right">
                                                              <br>
                                                              

                                                              <div align="right">
                                                                <br>
                                                                

                                                                <div align="right">
                                                                  <br>
                                                                  

                                                                  <div align="right">
                                                                    <br>
                                                                    

                                                                    <div align="right">
                                                                      <br>
                                                                      

                                                                      <div align="right">
                                                                        <br>
                                                                        

                                                                        <div align="right">
                                                                          <br>
                                                                          

                                                                          <div align="right">
                                                                            <br>
                                                                            

                                                                            <div align="right">
                                                                              <br>
                                                                              

                                                                              <div align="right">
                                                                                <br>
                                                                                

                                                                                <div align="right">
                                                                                  <br>
                                                                                  

                                                                                  <div align="right">
                                                                                    <br>
                                                                                    

                                                                                    <div align="right">
                                                                                    <br>
                                                                                    

                                                                                    <div align="right">
                                                                                    <br>
                                                                                    

                                                                                    <div align="right">
                                                                                    <br>
                                                                                    

                                                                                    <div align="right">
                                                                                    <br>
                                                                                    

                                                                                    <div align="right">
                                                                                    <br>
                                                                                    

                                                                                    <div align="left">
                                                                                    <hr>
                                                                                    <img src="HLPBELL.GIF">
                                                                                     
                                                                                     
                                                                                     
                                                                                    Foot
                                                                                     <samp>
      1</samp> <samp>1/7</samp> <samp>3/09/02</samp> <samp>6:33</samp>
                                                                                    </div>
                                                                                    </div>
                                                                                    </div>
                                                                                    </div>
                                                                                    </div>
                                                                                    </div>
                                                                                  </div>
                                                                                </div>
                                                                              </div>
                                                                            </div>
                                                                          </div>
                                                                        </div>
                                                                      </div>
                                                                    </div>
                                                                  </div>
                                                                </div>
                                                              </div>
                                                            </div>
                                                          </div>
                                                        </div>
                                                      </div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </p>
        </body>
      </html>

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import javax.swing.*;
      import java.io.*;
      import javax.swing.text.html.*;


      public class HTMLeditorTest {

      String stringToParse = "<DIV ALIGN=LEFT><IMG
      SRC=HLPGLOBE.GIF>&#32&#32&#32&#72&#101&#97&#100&#105&#110&#103&#32&#32&#32<SAMP>3/09/02</SAMP>&#32&#32&#32<SAMP>6:33</SAMP>&#32&#32<S
      AMP>1</SAMP>&#32&#32<SAMP>1/7</SAMP><BR><DIV ALIGN=LEFT><BR><DIV ALIGN=LEFT><HR><DIV
      ALIGN=LEFT>&#84&#104&#101&#32<B>&#111</B><B>&#110</B><B>&#101</B>&#32<I>&#119</I><I>&#111</I><I>&#110</I><I>&#100</I><I>&#101</I><I>&#114</I><I>&#1
      02</I><I>&#117</I><I>&#108</I>&#32<U>&#67</U><U>&#111</U><U>&#118</U><U>&#101</U><U>&#114</U><BR><DIV
      ALIGN=LEFT><B><I>&#66</I></B><B><I>&#111</I></B><B><I>&#108</I></B><B>"+
          
      "<I>&#100</I></B><B><I>&#73</I></B><B><I>&#116</I></B><B><I>&#97</I></B><B><I>&#108</I></B><B><I>&#105</I></B><B><I>&#99</I></B>&#32<B><U>&#66</U></B><
      B><U>&#111</U></B><B><U>&#108</U></B><B><U>&#100</U></B><B><U>&#85</U></B><B><U>&#110</U></B><B><U>&#100</U></B><B><U>&#101</U></B><B><U>&
      #114</U></B><B><U>&#108</U></B><B><U>&#105</U></B><B><U>&#110</U></B><B><U>&#101</U></B>&#32<U><I>&#73</I></U><U><I>&#116</I></U><U><I>&#97</I>
      </U><U><I>&#108</I></U><U><I>&#105</I></U><U><I>&#99</I></U><U><I>&#85</I></U><U><I>&#110</I></U><U><I>&#100</I></U><U><I>&#101</I></U><U>"+
          
      "<I>&#114</I></U><U><I>&#108</I></U><U><I>&#105</I></U><U><I>&#110</I></U><U><I>&#101</I></U>&#32&#32<B><I><U>&#97</U></I></B><B><I><U>&#108</U></I><
      /B><B><I><U>&#108</U></I></B><BR><DIV ALIGN=CENTER><BR><DIV
      ALIGN=CENTER><B>&#12549</B><B>&#12550</B><B>&#12551</B><B>&#12552</B><B>&#12553</B><B>&#12554</B><BR><DIV ALIGN=LEFT><IMG
      SRC=eses041.gif><BR><DIV ALIGN=LEFT><B>&#12353</B><B>&#12354</B><B>&#12355</B><B>&#12359</B><B>&#12362</B><B>&#12365</B><BR><DIV
      ALIGN=LEFT><B>&#1511</B><B>&#1512</B><B>&#1488</B><B>&#1496</B><B>&#1493</B><B>&#1503</B><B>&#1501</B><B>&#1508</B>"+

          "<BR><DIV ALIGN=LEFT><IMG SRC=eses011.gif><BR><DIV ALIGN=LEFT><BR><DIV
      ALIGN=CENTER><B>&#1590</B><B>&#1589</B><B>&#1579</B><B>&#1602</B><B>&#1601</B><B>&#1594</B><B>&#1593</B><B>&#1582</B><B>&#1581</B><BR><DI
      V ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV
      ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV
      ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT>"+

          "<BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV
      ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=RIGHT><BR><DIV ALIGN=LEFT><HR><IMG
      SRC=HLPBELL.GIF>&#32&#32&#32&#70&#111&#111&#116&#32&#32<SAMP>1</SAMP>&#32&#32&#32<SAMP>1/7</SAMP>&#32&#32&#32<SAMP>3/09/02</SAMP>&#32
      &#32&#32<SAMP>6:33</SAMP>";


      HTMLeditorTest(){

          HTMLEditorKit htmleditor = new HTMLEditorKit();
          JEditorPane ep = new JEditorPane();
          ep.setEditorKit(htmleditor);
          HTMLDocument htmldoc = (HTMLDocument) htmleditor.createDefaultDocument();

          try{
              htmleditor.insertHTML(htmldoc,0,stringToParse,0,0,HTML.Tag.DIV);
          } catch (Exception ev) {
              System.err.println("Exception: " + ev);
          }

          try{
              FileWriter fw = new FileWriter("HTMLeditorTest.html");
              HTMLWriter hw = new HTMLWriter(fw,htmldoc);
              hw.write();
              fw.

            naasunw Naa Naa (Inactive)
            svioletsunw Scott Violet (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: