我在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);
提前感谢您的帮助!
答案 0 :(得分:2)
null
布局。虽然null布局和setBounds()
似乎是Swing新手,比如创建复杂GUI的最简单和最好的方法,但是你创建的Swing GUI越多,你在使用它们时会遇到更严重的困难。 。当GUI调整大小时,他们不会调整组件的大小,他们是增强或维护的皇室女巫,当他们放置在滚动窗格中时,他们完全失败,当他们在所有平台或屏幕分辨率不同时看起来很糟糕原来的。