Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaFXでウィンドウの幅内にテキストを折り返すにはどうすればよいですか?


JavaFXでは、テキストノードは Javafx.scene.text.Textで表されます。 クラス。 JavaFxウィンドウにテキストを挿入/表示するには、次のことを行う必要があります-

  • Textクラスをインスタンス化します。

  • セッターメソッドを使用するか、コンストラクターへの引数としてそれらをバイパスして、位置やテキスト文字列などの基本的なプロパティを設定します。

  • 作成したノードをGroupオブジェクトに追加します。

渡したテキストの行の長さが、テキストのウィンドウ部分の幅よりも長い場合、以下に示すように切り刻まれます-

JavaFXでウィンドウの幅内にテキストを折り返すにはどうすればよいですか?

解決策として、 setWrappingWidth()を使用して、値をプロパティwrapping withに設定することにより、ウィンドウの幅内でテキストを折り返すことができます。 メソッド。

このメソッドは、テキストの幅(ピクセル単位)を表すdouble値を受け入れます。ウィンドウの幅よりも小さい値を渡すと、テキストはウィンドウ内に折り返されます(指定された幅)。

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Scanner;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class WrappingTheText extends Application {
   public void start(Stage stage) throws FileNotFoundException {
      //Reading the contents of a text file.
      InputStream inputStream = new FileInputStream("D:\\sample.txt");
      Scanner sc = new Scanner(inputStream);
      StringBuffer sb = new StringBuffer();
      while(sc.hasNext()) {
         sb.append(" "+sc.nextLine()+"\n");
      }
      //Creating a text object
      Text text = new Text(10.0, 25.0, sb.toString());
      //Wrapping the text
      text.setWrappingWidth(590);
      //Setting the stage
      Group root = new Group(text);
      Scene scene = new Scene(root, 595, 300, Color.BEIGE);
      stage.setTitle("Wrapping The Text");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

sample.txt

sample.txtファイルの内容は次のとおりです-

JavaFX is a Java library used to build Rich Internet Applications. The applications written 
using this library can run consistently across multiple platforms. The applications developed 
using JavaFX can run on various devices such as Desktop Computers, Mobile Phones, TVs, Tablets, etc..
To develop GUI Applications using Java programming language, the programmers rely on libraries 
such as Advanced Windowing Tool kit and Swing. After the advent of JavaFX, these Java programmers 
can now develop GUI applications effectively with rich content.

出力

Font Name: Brush Script MT

出力

JavaFXでウィンドウの幅内にテキストを折り返すにはどうすればよいですか?


  1. Tkinterラベルのテキストを取得するにはどうすればよいですか?

    Tkinterラベルは、ウィンドウにテキストまたは画像を作成して表示するために使用されます。フォントファミリー、パディング、幅、高さなどのラベル情報をカスタマイズするために使用できるいくつかのコンポーネントと関数があります。ウィンドウにラベルテキストを表示するために、必要なテキストの値を書き込むことができます。ウィンドウに表示されます。 例 #Import the required library from tkinter import * #Create an instance of tkinter frame win= Tk() #Define the geometry of the

  2. テキストの大文字と小文字を変更する方法

    一部のユーザーから、Microsoft Word、Googleドキュメント、またはテキストエディタを使用せずに、小文字を大文字に(またはその逆に)変更する方法があるかどうかという質問が寄せられています。影響を受けた一部のユーザーは、誤って入力したテキストを間違った大文字で削除することも検討していますが、この問題を解決するためのはるかに効率的な方法があります。 幸い、Microsoft Wordおよびその他すべてのテキストエディタには、選択したテキストの大文字と小文字を変更する機能が含まれています。技術にまったく精通していなくても、すべて非常に簡単に実行できます。実際、これを行うにはさまざま