Redimensionner la boîte de dialogue de message (JOptionPane) pour une longue phrase avec une largeur fixe

Je suis en train de redimensionner la hauteur de la boîte de dialogue (JOptionPane) pour une longue phrase avec un lien hypertexte.

Mon code est ..

public class DialogTest {
public static void main(String[] args) throws Exception {
    JTextPane jtp = new JTextPane();
    Document doc = jtp.getDocument();
    for (int i = 0; i < 50; i++) {
        doc.insertString(doc.getLength(), " Hello Java World ", new SimpleAttributeSet());
        if ((3 == i) || (7 == i) || (15 == i)) {
            doc.insertString(doc.getLength(), " Hello Java World ", new SimpleAttributeSet());
            SimpleAttributeSet attrs = new SimpleAttributeSet();
            StyleConstants.setUnderline(attrs, true);
            StyleConstants.setForeground(attrs, Color.BLUE);
            String text = "www.google.com";
            URL url = new URL("http://" + text);
            attrs.addAttribute(HTML.Attribute.HREF, url.toString());
            doc.insertString(doc.getLength(), text, attrs);
        }
    }
    JScrollPane jsp = new JScrollPane(jtp);
    jsp.setPreferredSize(new Dimension(480, 150));
    jsp.setBorder(null);

    JOptionPane.showMessageDialog(null, jsp, "Title", JOptionPane.INFORMATION_MESSAGE);
}}

Si je n'ai pas définir la taille par défaut, cette boîte de dialogue va être vraiment long, et il n'est pas lisible. Donc, je veux fixer la largeur de 480.

Et, je veux régler la hauteur dépend de la longueur du texte.

Si j'exécute ce code, je vois la barre de défilement verticale. Mais je ne veux pas afficher que la barre de défilement et de régler la hauteur de la boîte de dialogue.

double possible de dois-je éviter l'utilisation de set(de préférence|Maximum|Minimum)Taille de méthodes en Java Swing?
euh.. je n'ai pas trouvé la réponse pour moi dans le fil.
L'essentiel, c'est que vous ne devriez pas utiliser setPreferredSize (il ne fait pas ce que vous pensez qu'il n'). Désolé de ne pas suggérant une approche alternative, mais je suis à court de temps pour le moment.
1) Pour mieux aider plus tôt, post un MCTaRE (Minime Complète Testé et Lisible par Exemple). 2) Quel est le type de document, HTML? Si oui, vous pouvez utiliser la même technique vu dans cette réponse.. (mais si vous ne pouvez pas le faire fonctionner, de poster un MCTaRE plutôt que uncompilable fragments de code).
java-sl.com/tip_text_height_measuring.html

OriginalL'auteur swordartist | 2014-02-27