jEditorPane: Html qui passe tout seul a la ligne?
Bonjour,
Decidement, ce jEditorPane me rends fou...j'y ai passé des jours et des jours et ca ne veut toujours pas marcher.
Je m'explique.Aprés avoir resolu quelques problemes,je pensais avoir terminé,mais non!
Ca marche bien du moment que la String a rajouter n'est pas trop longue.A partir d'une certaine longueur,il passe tout seul a la ligne a partir de la derniere balise html.
Par exemple:
Code:
test="<br>salut1sa<b>lut2sal</b>ut3sa<b>lut4s</b>a<u>l</u>ut5salut6salut<b>7sal</b>ut8sal<i>ut9salut10salut11sa</i>lut12salut13salut14salut15salut16salut17";
Aucun probleme,tout est sur une ligne avec le formatage en fonction des balises.
par contre:
Code:
test="<br>salut1sa<b>lut2sal</b>ut3sa<b>lut4s</b>a<u>l</u>ut5salut6salut<b>7sal</b>ut8sal<i>ut9salut10salut11sa</i>lut12salut13salut14salut15salut16salut17salut18";
catastrophe...
sur la 1ere ligne on a jusqu'a "salut11sa" (derniere balise html), et sur la seconde on a tout le reste.
Je dois avouer que je comprends pas trop...
Je mets un code rapide si vous voulez tester par vous meme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
import java.awt.*;
import javax.swing.*;
import javax.swing.text.html.*;
public class Test extends JFrame
{
private static JEditorPane jEditorPane1=new JEditorPane("text/html","<html><body>");
private static JScrollPane jScrollPane1=new JScrollPane();
public Test()
{
super();
initialise();
this.setVisible(true);
}
private void initialise()
{
contentPane = (JPanel)this.getContentPane();
jEditorPane1.setEditable(true);
jScrollPane1.setViewportView(jEditorPane1);
contentPane.setLayout(null);
addComponent(contentPane, jScrollPane1, 64,26,651,488);
this.setTitle("Test");
this.setLocation(new Point(279, 197));
this.setSize(new Dimension(869, 680));
}
private void addComponent(Container container,Component c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
HTMLEditorKit kit = new HTMLEditorKit();
HTMLDocument doc = new HTMLDocument();
try
{
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
}
catch (Exception ex)
{
System.out.println(ex);
}
new Test();
jEditorPane1.setEditorKit(kit);
jEditorPane1.setDocument(doc);
try
{
kit.insertHTML(doc, doc.getLength(), "<br>texte ici", 0, 0, HTML.Tag.BR);
}catch (Exception ex)
{ex.printStackTrace();}
}
} |
Si quelqu'un a une idée de la cause ou du remede.Merci
Ps: Desolé pour l'indentation,probleme au copier/coller