Я хотел бы иметь JTextPane с полосой прокрутки, как я могу это сделать? Благодарю.
Как иметь прокручиваемую JTextPane?
Ответ 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
Ответ 2
Оберните его в JScrollPane. Прочтите руководство по качанию о панелях прокрутки.
Ответ 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