我刚开始使用Java来构建GUI。现在我遇到了一个错误,导致JTextArea出现非常奇怪的行为。我用它来创建TextArea: `
public class gui{
JTextArea ausgabe;
public gui(){
//Some other Stuff in here
//
//
ausgabe = new JTextArea("Test \n Text",15,50);
ausgabe.setSize(110, 170);
ausgabe.setVisible(true);
mainFrame.add(ausgabe);
ausgabe.setLocation(170,20);
ausgabe.setEnabled(false);
}
}
现在直到这一刻,一切正常。但我想要另一种方法来更改区域的文本(使用ausgabe.setText("String");
),该区域将自身重定位到JFrame的x,y = 0,并将层本身层叠在所有其他JFrame元素之上。谢谢你的帮助!
答案 0 :(得分:0)
我强烈建议不要与Layout Managers
作斗争对于简单的修复,请使用JFrame
的默认布局管理器,如此
public class gui
{
JTextArea ausgabe;
public gui()
{
ausgabe = new JTextArea("Test \n Text");
mainFrame.add(ausgabe, BorderLayout.CENTER);
}
}
您也不需要设置除JFrame本身以外的Swing组件。
然后,您可以在动作监听器等中调用setText()
,TextArea
应该保持在同一位置。