2015-12-02 2 views
0

Как я могу заставить JTextPane создать новую строку, когда пользователь вводит что-то, и достигает конца экрана/кадра? Вот что у меня есть:Как сделать новую строку в JTextPane динамически?

JFrame frame = new JFrame("Frame"); 

JTextPane pane= new JTextPane(); 
JPanel panel = new JPanel(new BorderLayout()); 
panel.add(pane); 
JScrollPane scrollBar = new JScrollPane(panel); 
     scrollBar.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); 

frame.add(scrollBar, BorderLayout.CENTER); 

Пожалуйста, обратите внимание, что это не для некоторой фиксированной строки в JTextPane, а это означает, что панель является пустым по умолчанию и текст добавляется ввод данных пользователем. Когда пользователь набирает что-то и слово доходит до конца экрана, текст должен продолжаться на новой строке, а не продолжаться в той же строке ...

+1

Вы можете использовать 'JTextArea' и называют' setWrapStyleWord (истинный); ' – Ian2thedv

+0

я должен использовать JTextPane –

+0

Если я помню, вы можете добавить' JTextPane' до 'JPanel 'используя' BorderLayout' и добавьте 'JPanel' в' JScrollPane' – MadProgrammer

ответ

0

Я не понимаю, почему люди продолжают спрашивать об этом вопрос. JTextPane обычно оборачивает слова:

public static void main(String[] args) { 
    SwingUtilities.invokeLater(new Runnable() { 
     @Override 
     public void run() { 
      JFrame mainFrame = new JFrame("test"); 
      mainFrame.setSize(100, 100); 
      mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      Container pane = mainFrame.getContentPane(); 
      JTextPane jtp = new JTextPane(); 
      JScrollPane scroll = new JScrollPane(jtp); 
      pane.add(scroll); 

      mainFrame.setVisible(true); 
     } 
    }); 
} 
Смежные вопросы