簡體   English   中英

Java-如何設置JTextArea高度以適合其內容?

[英]Java - How to set JTextArea height to fit its content?

我在JPanel中有一個JTextArea。 JPanel的布局為空或使用絕對布局。 JTextArea具有固定的寬度。 如何設置JTextArea的高度以適合其內容?

我有以下代碼:

*some random string of varying length*
String str = "kdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkda"
           + "kdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkda"
           + "kdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkda"
           + "kdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkda"
           + "kdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkda"
           + "kdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkdafkakopwepopkkda";


JTextArea wtd = new JTextArea(str);
wtd.setLineWrap(true);
wtd.setOpaque(false);
wtd.setEditable(false);
wtd.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
wtd.setLocation(*defined x position*, *defined y position*);
wtd.setPreferredSize(new Dimension(*fixed width*, *the height depending on the content*));
wtd.setSize(wtd.getPreferredSize());
add(wtd);

在此先感謝您的幫助!

  1. 不要使用null布局。 盡管null布局和setBounds()似乎是Swing新手喜歡創建復雜GUI的最簡單和最佳方法,但您創建的Swing GUI越多,使用它們時將遇到的困難就越大。 當GUI調整大小時,它們不會調整組件的大小;它們是要增強或維護的皇家女巫;放置在滾動窗格中時,它們會完全失敗;在所有平台或與原始分辨率不同的屏幕分辨率下查看時,它們看起來都是令人毛骨悚然的。
  2. 永遠不要為JTextAreas設置絕對的高度或寬度或preferredSize-這樣做完全可以防止它們在JScrollPanes中使用。
  3. 而是設置JTextArea的column和row屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM