【คำอธิบายปัญหา】
DrawString ในคลาสกราฟิก Javame ไม่รองรับการห่อข้อความ วิธีการทำให้ข้อความวาดโดยอัตโนมัติ?
【วิเคราะห์】
DrawString ไม่สามารถใช้การห่อเส้นอัตโนมัติ แต่สามารถใช้ตำแหน่งการวาดภาพข้อความ ดังนั้นจึงเป็นไปได้ที่จะพิจารณาแยกข้อความออกเป็นหลายส่วนย่อยและวาดพื้นผิว กลยุทธ์การแยกมีดังนี้:
1 เมื่อเผชิญหน้ากับตัวละครใหม่ให้แยกมัน;
2 เมื่อความยาวของสตริงมากกว่าความยาวที่ตั้งไว้ (โดยปกติความกว้างของหน้าจอ) ให้แยกออก
【ขั้นตอน】
1 กำหนดสตริงและสตริง [] วัตถุ;
ข้อมูลสตริงส่วนตัว;
2 ใช้ฟังก์ชันการห่อสตริงอัตโนมัติ
StringDealMethod.java
แพ็คเกจ com.token.util; นำเข้า java.util.vector; ข้อความ, int maxwidth, font ft) {string [] result = null; 0; WRAP = TRUE; index0, index1 - 1); (ผลลัพธ์); .... ...... "); // Parse Nodes เป็น vector int index = Original.indexof (ตัวคั่น); ในขณะที่ (index> = 0) {nodes.addelement (Original.substring (0, ดัชนี)) orig inal = ต้นฉบับ. substring (index+separator.length ()); ผลลัพธ์ = สตริงใหม่ [โหนด. size ()]; ถ้า (nodes.size ()> 0) {สำหรับ (int loop = 0; loop <nodes.size (); loop ++) {ผลลัพธ์ [loop] = (สตริง) .Elementat (วนซ้ำ);
3 เรียกฟังก์ชันแยกเพื่อตระหนักถึงการแยกของสตริง
int width = getWidth (); วาดสตริงที่สามารถรับรู้การแบ่งบรรทัดโดยอัตโนมัติ
4 วาดสตริง
int width = getWidth (); วาดสตริงที่สามารถรับรู้การแบ่งบรรทัดโดยอัตโนมัติ
เอฟเฟกต์การวาดแสดงในรูปที่ 1: