Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách bọc văn bản trong chiều rộng cửa sổ JavaFX


Trong JavaFX, nút văn bản được biểu diễn bởi lớp Javafx.scene.text.Text. Để chèn/hiển thị văn bản trong cửa sổ JavaFX, bạn cần:

  • Khởi tạo lớp Text.
  • Thiết lập các thuộc tính cơ bản như vị trí và chuỗi văn bản, sử dụng các phương thức setter hoặc truyền chúng làm đối số cho constructor.
  • Thêm nút đã tạo vào đối tượng Group.

Nếu độ dài các dòng trong văn bản bạn truyền dài hơn chiều rộng cửa sổ, một phần văn bản sẽ bị cắt như hình dưới:

Cách bọc văn bản trong chiều rộng cửa sổ JavaFX

Giải pháp là bọc văn bản trong chiều rộng cửa sổ bằng cách đặt giá trị cho thuộc tính wrappingWidth, sử dụng phương thức setWrappingWidth().

Phương thức này chấp nhận một giá trị double đại diện cho chiều rộng (tính bằng pixel) của văn bản. Nếu bạn truyền giá trị nhỏ hơn chiều rộng cửa sổ, văn bản sẽ được bọc trong chiều rộng đó.

Ví dụ

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 { 
    // Đọc nội dung file văn bản
    InputStream inputStream = new FileInputStream("D:\\sample.txt"); 
    Scanner sc = new Scanner(inputStream); 
    StringBuffer sb = new StringBuffer(); 
    while(sc.hasNext()) { 
      sb.append(" " + sc.nextLine() + "\n"); 
    } 
    // Tạo đối tượng Text
    Text text = new Text(10.0, 25.0, sb.toString()); 
    // Bọc văn bản
    text.setWrappingWidth(590); 
    // Thiết lập 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

Giả sử nội dung file sample.txt như sau:

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.

Kết quả

Font Name: Brush Script MT

Kết quả

Cách bọc văn bản trong chiều rộng cửa sổ JavaFX