Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะตัดข้อความภายในความกว้างของหน้าต่างใน JavaFX ได้อย่างไร?


ใน JavaFX โหนดข้อความจะแสดงโดย Javafx.scene.text.Text ระดับ. ในการแทรก/แสดงข้อความในหน้าต่าง JavaFx คุณต้อง -

  • ยกตัวอย่างคลาสข้อความ

  • ตั้งค่าคุณสมบัติพื้นฐาน เช่น ตำแหน่งและสตริงข้อความ โดยใช้เมธอด setter หรือข้ามไปเป็นอาร์กิวเมนต์ของคอนสตรัคเตอร์

  • เพิ่มโหนดที่สร้างขึ้นไปยังวัตถุกลุ่ม

หากความยาวของบรรทัดในข้อความที่คุณส่งไป ส่วนที่ยาวกว่าความกว้างของส่วนหน้าต่างของข้อความจะถูกตัดตามที่แสดงด้านล่าง -

จะตัดข้อความภายในความกว้างของหน้าต่างใน JavaFX ได้อย่างไร?

วิธีแก้ปัญหา คุณสามารถตัดข้อความภายในความกว้างของหน้าต่างโดยตั้งค่าเป็นคุณสมบัติการตัดด้วย setWrappingWidth() วิธีการ

วิธีนี้ยอมรับค่าสองเท่าที่แสดงความกว้าง (เป็นพิกเซล) ของข้อความ หากคุณส่งค่าที่น้อยกว่าความกว้างของหน้าต่าง ข้อความจะถูกห่อภายในนั้น (ความกว้างที่กำหนด)

ตัวอย่าง

<ก่อนหน้า>นำเข้า java.io.FileInputStream;นำเข้า java.io.FileNotFoundException;นำเข้า java.io.InputStream;นำเข้า java.util.Scanner;นำเข้า javafx.application.Application;นำเข้า javafx.scene.Group;นำเข้า 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;นำเข้า javafx.scene text.Text;คลาสสาธารณะ WrappingTheText ขยายแอปพลิเคชัน { เริ่มต้นเป็นโมฆะสาธารณะ (เวทีเวที) พ่น FileNotFoundException {// การอ่านเนื้อหาของไฟล์ข้อความ InputStream inputStream =ใหม่ FileInputStream("D:\\sample.txt"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (inputStream); StringBuffer sb =ใหม่ StringBuffer(); ในขณะที่(sc.hasNext()) { sb.append(" "+sc.nextLine()+"\n"); } //การสร้างวัตถุข้อความ Text text =new Text (10.0, 25.0, sb.toString()); //ตัดข้อความ text.setWrappingWidth(590); //การตั้งค่าสเตจ รูทกลุ่ม =กลุ่มใหม่ (ข้อความ); ฉากซีน =ฉากใหม่ (root, 595, 300, Color.BEIGE); stage.setTitle("การตัดข้อความ"); stage.setScene (ฉาก); stage.show(); } โมฆะคงที่สาธารณะ main(String args[]){ launch(args); }}

sample.txt

สมมติว่าต่อไปนี้คือเนื้อหาของไฟล์ sample.txt -

JavaFX คือไลบรารี Java ที่ใช้สร้าง Rich Internet Applications แอปพลิเคชันที่เขียนโดยใช้ไลบรารีนี้สามารถทำงานบนหลายแพลตฟอร์มได้อย่างสม่ำเสมอ แอปพลิเคชันที่พัฒนาโดยใช้ JavaFX สามารถทำงานบนอุปกรณ์ต่างๆ เช่น คอมพิวเตอร์เดสก์ท็อป โทรศัพท์มือถือ ทีวี แท็บเล็ต เป็นต้น ในการพัฒนาแอปพลิเคชัน GUI โดยใช้ภาษาการเขียนโปรแกรม Java โปรแกรมเมอร์ต้องพึ่งพาไลบรารีต่างๆ เช่น Advanced Windowing Tool kit และ Swing หลังจากการถือกำเนิดของ JavaFX โปรแกรมเมอร์ Java เหล่านี้สามารถพัฒนาแอปพลิเคชัน GUI ได้อย่างมีประสิทธิภาพด้วยเนื้อหาที่หลากหลาย

ผลลัพธ์

ชื่อแบบอักษร:Brush Script MT

ผลลัพธ์

จะตัดข้อความภายในความกว้างของหน้าต่างใน JavaFX ได้อย่างไร?