2017-01-09 6 views
-1

最初に、私はJavaプログラミングの初心者です。 JTextAreaとは異なり、JTextPaneのワードラップを無効にしたいからです。私はこの1つを持ってsolutionしかし、私はそれを実装する方法がわからない、私はどこに私のコードに配置する必要がありますか?JTextPaneのラップインプリメンテーションを使用しない

ないラップの実装:

public class NoWrapParagraphView extends ParagraphView { 

    public NoWrapParagraphView(Element elem) { 
     super(elem); 
    } 

    @Override 
    public void layout(int width, int height) { 
     super.layout(Short.MAX_VALUE, height); 
    } 

    @Override 
    public float getMinimumSpan(int axis) { 
     return super.getPreferredSpan(axis); 
    } 
} 

JTextAreaにとするJScrollPane:

/*-- OTHER CODES --*/ 

JTextPane jTextPane = new JTextPane(); 
jTextPane.setContentType("text/html"); 
jTextPane.setEditable(false); 
JScrollPane jScrollPane = new JScrollPane(); 
jScrollPane.setViewportView(jTextPane); 

/*-- MORE CODES --*/ 
+0

これは見つかりましたか?私はそれが答えを含んでいると信じています。 http://stackoverflow.com/questions/7036543/how-is-word-wrapping-implemented-in-jtextpane-and-how-do-i-make-it-wrap-a-strin – ControlAltDel

+0

@ControlAltDelいいえ。さて、私はこれの例が必要だと思うので、コードの配置場所を知ることができます。 –

+0

* "私には例が必要だと思う。" *家庭教師やヘルプデスクが必要だと思う。これは、人々がアドバイスを実行しようとすることを嫌うまたは実行できない場所ではありません。 –

答えて

1

潜在的にシンプルなソリューションのためのNo Wrap Text Paneをチェックしてください。

これらのソリューションは、JTextPaneがラッピングを防止するために使用するデフォルトのScrollableインターフェイスより優先されます。

+0

Hmmm、実際にNetBeansデザイナーを使っていたので、 'BorderLayout()'を設定するとUIが混乱すると思います...でも、私も試してみます。 –

+0

したがって、 'JTextPane textPane = new JTextPane()'をオーバーライドして 'public boolean getScrollableTracksViewportWidth()'を試しました。それは動作しますが、プログラムのレイアウトは固定幅ではなく 'pack()'になってしまいます。ところで、この種の問題に対するはるかに単純な解決策です。ありがとうございました :) –

関連する問題