如何在textfield中设置nextline

时间:2012-10-05 16:06:13

标签: java user-interface javafx

所以即时创建一个与Gui聊天,其中包含一些男人的照片,他们上面有一个文本字段,其中包含该人聊天的文字。

这是迄今为止我创建的最难的项目,我为我的成就感到非常自豪我已经为我的聊天客户端创建了一个多线程服务器和协议:)我从Stackoverflow得到一个人来帮助我调整我的文本字段,如果文本进入它大于文本字段的大小:)但现在我有另一个问题,当文本字段调整大小时,它仅调整大小,因为我的文本字段不会改变行

我已经创建了以下代码来尝试使其更改行但是它似乎无法工作,任何人都可以帮助我吗?

Send.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {

            String x = textField_chat.getText();
            if (x.length() > 10) {
                String oldLine = x.substring(0,5);

             String newLineString = x.substring(5,x.length());
             txt_ChatPerson1.setText(oldLine+"\n"+newLineString);
            }else {


            textField_chat.setText("");
            txt_ChatPerson1.setVisible(true);
            txt_ChatPerson1.setText(x);
        }

2 个答案:

答案 0 :(得分:1)

改为使用TextArea

来自它的TextArea描述是javadoc:

  

允许用户输入多行纯文本的文本输入组件。与之前版本的JavaFX不同,对单行输入的支持不能作为TextArea控件的一部分使用,但这是TextField控件的唯一目的。此外,如果您想要一种富文本编辑形式,还有HTMLEditor控件。

答案 1 :(得分:0)

我正在黑暗中拍摄,但如果你在Windows上运行它,那么新的行字符是“\ r \ n”。

试试这个:

txt_ChatPerson1.setText(oldLine+"\r\n"+newLineString);