Подтвердить что ты не робот

Как иметь прокручиваемую JTextPane?

Я хотел бы иметь JTextPane с полосой прокрутки, как я могу это сделать? Благодарю.

4b9b3361

Ответ 1

Чтобы вставить полосу прокрутки на новую JTextPane, просто используйте JScrollPane:

JTextPane txt = new JTextPane();

JScrollPane jsp = new JScrollPane(txt);

API JTextPane: http://download.oracle.com/javase/6/docs/api/javax/swing/JTextPane.html

API JScrollPane: http://download.oracle.com/javase/6/docs/api/javax/swing/JScrollPane.html

Если у вас есть некоторые проблемы, посмотрите на этот вопрос: Проблема Java JTextPane JScrollPane

Или взгляните на: http://www.daniweb.com/software-development/java/threads/30283

Ответ 3

Просто поместите JTextPane в JScrollPane.

public class SomeFrame
{
  public static void main( String[] args )
  {
    JFrame frame = new JFrame( );
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

    JTextPane tp = new JTextPane();
    JScrollPane sp = new JScrollPane(tp);
    frame.getContentPane().add( sp );

    frame.pack( );
    frame.setVisible( true );
  }
}

Ответ 4

Перед этим просто добавьте ScrollPane в ContentPane в Design и добавьте EditopPane в ScrollPane как дочерний

JScrollPane sp = (JScrollPane)contentPane.getComponent(23);//this is in my hierarchy 23
JViewport vp = sp.getViewport();
JEditorPane ep = (JEditorPane)vp.getView();

Ответ 5

Вот код для добавления полосы прокрутки в TextBox

    JEditorPane edtDTWinfo = new JEditorPane();
    edtDTWinfo.setEditable(false);
    edtDTWinfo.setBorder(new LineBorder(Color.ORANGE, 2));
    edtDTWinfo.setForeground(Color.BLUE);
    JScrollPane spEditor = new JScrollPane(edtDTWinfo,
            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    spEditor.setBounds(0, 0, 200, 300);

Добавить компонент "spEitor" в JPanel