[JEditorPane]setText, setPage - problem

0

Sprawa ma się tak, że jeśli wczytam stronę do JEditorPane za pomocą setPage to wyświetla mi ją dobrze, ale jeśli najpierw ją wczytam do stringa, a potem zrobię setText, to strona też się wyświetla, ale z błędami.
Ustawiam text/html.

Błędem jest to, że strona jest za bardzo rozciągnięta w pionie.

0

Spróbuj (zamiast setContentType()) czegos takiego:

   ep.setDocument((HTMLDocument)ep.getDocument());
0

Niestety nie działa. setDocument(new HTMLDocument) też nie :(

0

Napisałem programik ... i działa.
Fragment otwierający plik wygląda tak:

    if(fc.showOpenDialog(this)==JFileChooser.APPROVE_OPTION)
    {
         File f=fc.getSelectedFile();
         if(f.exists())
         {
              String file=f.getAbsolutePath();
              try
              {
                   url=new URL("file:"+file);

              }
              catch (Exception e)
              {
       	           say(e.getMessage());
              }
              if(src==open)
              {
                   try
                   {
                        ep.setPage(url);
                   }
                   catch (Exception e)
                   {
       	                say(e.getMessage());
                   }
                }
                else
                {
                     String s=My.readFromFile(file,this);
                     ep.setText(s);
                }
                setTitle(file); 
                try
                {
                     ep.setDocument((HTMLDocument)ep.getDocument());
                }
                catch(Exception e)
                {
                     say("<html>Plik <font color=\"blue\">"+file+"</font> <br>nie jest plikiem          
                           HTML</html>");
                }
            }
      }

Funkcja czytająca plik tekstowy (z klasy My) wygląda tak:

    public static String readFromFile(String file,Container c)
    {
    	StringBuffer txt=new StringBuffer();
        try
        {
            BufferedReader in=new BufferedReader (new FileReader(file));
            while (in.ready())
            {
                txt.append(in.readLine()+"\n");
            }
            in.close();
     	}
     	catch(Exception e)
     	{
            JOptionPane.showMessageDialog(c,e.getMessage(),"",JOptionPane.INFORMATION_MESSAGE);
     	}
     	return txt.toString();
    }
0

Okazało się, że oczywiście to nie jest wina JEditorPane. To wina kodowania. Plik, który otwierałem miał inne kodowanie niż powinien i przez to pojawiały się jakieś dziwne znaki w wynikowym Stringu. Już jest wszystko w porządku. Dzięki za zainteresowanie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1