1

幅が一定のサイドバーを備えた GUI を作成しています。テキストであるスクロール可能なテキストを JTextPane に追加し、これらすべてを JPanel PanelList に追加したいと考えています。

問題は、スクロール可能な文字列が常にテキスト全体を表示するように、最長の文字列の長さに自動的に調整されることです。これは私が探しているものではありません。

このコードを持つ:

public PanelList(int size){

        text = new JTextPane();
        text.setEditable(false);
        text.setText("IwantthisStringtobeScrollable\n" +
                "ThisStringis30characterslength");
        JScrollPane scrollpane = new JScrollPane(text);
        scrollpane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
        this.add(scrollpane);

}

JTextPane の 20 文字のみを表示してスクロールできるようにするには、どのメソッドを呼び出す必要がありますか?

編集: scrollpanel によって表示される幅は、param サイズの幅です。

4

1 に答える 1

3

JTextPane の 20 文字のみを表示するには、どのメソッドを呼び出す必要がありますか?

AJTextPaneはこの概念をサポートしていません。

単純なテキストのみを表示している (複数のフォントやテキストの色を必要としない) 場合は、JTextArea. 次に、次のようにします。

JTextArea textArea = new JTextArea(5, 20);
JScrollPane scrollPane = new JScrollPane(textArea);

これにより、5 行 20 列のテキスト エリアが作成されます。すべての文字の幅が異なるため、列は正確ではありません。ちょうど 20 文字が必要な場合は、等幅フォントを使用する必要があります。

于 2013-04-27T18:34:39.007 に答える