2015-12-02 32 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); 
     } 
    }); 
}