次のようなものを使用することもできます(テキストに応じて幅、高さを制限し、情報メッセージを表示するときに便利です)。    
  public JTextArea createTextAreaFitToText(String message, Dimension minimalSize){
        JTextArea aMessagePanel = new JTextArea();
        aMessagePanel.setText(message);
        /*for modelToView to work, the text area has to be sized. It doesn't matter if it's visible or not.*/
        aMessagePanel.setPreferredSize(minimalSize);
        aMessagePanel.setSize(minimalSize);            
        Rectangle r = aMessagePanel.modelToView(aMessagePanel.getDocument().getLength()); 
        Dimension d = new Dimension(minimalSize.width, r.y + r.height);
        aMessagePanel.setPreferredSize(d);
        return aMessagePanel;
}