2

そのため、その人がチャットするテキストを含むテキストフィールドが上にある男性の写真を含む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);
        }
4

2 に答える 2

2

代わりにTextAreaを使用してください。

javadocからのTextAreaの説明:

ユーザーが複数行のプレーンテキストを入力できるようにするテキスト入力コンポーネント。以前のリリースのJavaFXとは異なり、TextAreaコントロールの一部として単一行入力のサポートは利用できませんが、これはTextFieldコントロールの唯一の目的です。さらに、リッチテキスト編集の形式が必要な場合は、HTMLEditorコントロールもあります。

于 2012-10-07T06:23:15.610 に答える
0

ここでは暗闇で撮影していますが、これを Windows で実行している場合、改行文字は "\r\n" です。

これを試して:

txt_ChatPerson1.setText(oldLine+"\r\n"+newLineString);
于 2012-10-05T16:11:44.680 に答える