2013-05-28 15 views
5

'deki metnin konumu nasıl değiştirilir Normalde, bir JTextArea'da metin sol üst köşede başlar. Sol alt köşede olmasını istiyorum. Bunu nasıl yapabilirsin?JTextArea

enter image description here

(özür benim el yazısı okunmaz ise) Bir kabın BorderLayout.PAGE_END konuma JTextArea demirlemek ve metin yukarı kaydırmak için izin verebilir

+4

+1

Amazing Base JTextArea Application

. Basit bir karar olarak –

+0

: satır sayısını sayın, kalan alanı boş satırlarla doldurun – maks

cevap

6

.

elle çizilmiş diyagramları için
public class BaseTextAreaDemo { 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       try { 
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
       } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { 
       } 

       final JFrame frame = new JFrame("Base JTextArea App"); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       frame.setLayout(new BorderLayout()); 
       JPanel textAreaPanel = getBaseTextArea(); 
       JScrollPane scrollPane = new JScrollPane(textAreaPanel) { 
        @Override 
        public Dimension getPreferredSize() { 
         return new Dimension(300, 230); 
        } 
       }; 

       frame.add(scrollPane); 
       frame.pack(); 
       frame.setLocationByPlatform(true); 
       frame.setVisible(true); 
      } 

      private JPanel getBaseTextArea() { 
       JTextArea textArea = new JTextArea(); 
       textArea.setLineWrap(true); 
       textArea.setWrapStyleWord(true); 
       textArea.append("bla bla bla\n"); 
       textArea.append("new text here"); 
       JPanel panel = new JPanel(new BorderLayout()); 
       panel.setBackground(textArea.getBackground()); 
       panel.setBorder(textArea.getBorder()); 
       textArea.setBorder(null); 
       panel.add(textArea, BorderLayout.PAGE_END); 

       return panel; 
      } 
     }); 
    } 
} 
+0

Bu, metnin konumlandırmasını değiştiren JPanel'deki textArea öğesinden 'BorderLayout.SOUTH' mi? – Creator13

+0

Evet. açıklaması ile güncellendi – Reimeus

+0

Ubuntu, ['textArea.getBackground()'] (http://docs.oracle.com/javase/7/docsground()) kendi geri döndürür Ebeveynlerin arka plan rengi, renkleri farklı kılar: Çok açık gri panel ve beyaz metin alanı. –

İlgili konular