2016-05-03 7 views
0

何かの前に、既にこの質問をしている人がいるかもしれません。しかし、私はそれをグーグルではできないと確信しています。とにかく、私は、textAreaのviewPortViewを持つscrollPaneを持っています。私の質問は、私は私のtextAreaの中に多数のコンポーネントを挿入するときに私のスクロールペインを表示したいと思います。私はどうしたらいい?私は分かりません。私はJavax Swingの専門家ではありません。助けのためのコンポーネントがテキスト領域を超えたときにスクロールペインを有効にする

textArea = new JTextArea(); 
scrollPane = new JScrollPane(); 
    textArea.setBounds(0,50,520,550); 
    textArea.setBackground(Color.DARK_GRAY); 
    scrollPane.setBounds(textArea.getBounds()); 
    scrollPane.setViewportView(textArea); 

感謝: コードは次のようになります!

答えて

2

私のtextAreaの中に多数のコンポーネントを挿入すると私のスクロールペインを表示したいと思います。

テキスト領域には、コンポーネントではなくテキストが表示されます。実際にテキスト領域にテキストを追加すると、スクロールバーが自動的に表示されます。

textArea.setBounds(0,50,520,550); 

setBoundsを使用しないでください。 Swingはレイアウトマネージャで使用するように設計されています。特に、JScrollPaneは、レイアウトマネージャを使用するときにのみ正しく動作します。

//textArea = new JTextArea(); 
textArea = new JTextArea(5, 20); 

上記のようなJtextAreaコードを作成すると、これにより、テキスト領域で独自の優先サイズを決定できます。次に、5行以上のテキストを追加すると、スクロールバーが表示されます。

詳細および使用例については、How to Use Text AreasのSwingチュートリアルのセクションを参照してください。チュートリアルへのリンクをすべてのSwingの基本に便利にしてください。ただ、情報を

+0

ありがとうございました!私は基本的にJava Swingの新機能ですので、私は正しいと思っていることを使っています。どうもありがとうございます! –

2

あなたがテキスト領域で複数の行を持っている場合は、スクロールバーがテキスト領域の最後までスクロールし、デフォルトです。テキスト領域の行をテキスト領域の上に維持するには、次のコードを参考にしてください。

textArea .setWrapStyleWord(true); 
    textArea .setLineWrap(true); 
    DefaultCaret caret = (DefaultCaret) textArea .getCaret(); 
    caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE); 
関連する問題