Diễn Đàn » Hướng Dẫn Lập trình

Làm thế nào để tạo chuỗi gạch chân trong Java

0 trả lời, 407 lượt xem — Trang 1 / 1
Thật lạ là, chuỗi gạch chân lại không được hỗ trợ bởi Java. Có nghĩa là, bạn không thể dùng Font.UNDERLINE để tạo nên chuỗi gạch chân.
Hãy sử dụng phương thức Graphics.drawLine() để vẽ một đoạn thẳng phía dưới dòng văn bản. Đoạn mã sau sẽ minh họa cho thủ thuật này:
  

// UnderlineTextDemo.java

   import java.awt.*;

   /** Minh họa cách vẽ dữ liệu gạch chân. */

   public class UnderlineTextDemo extends Frame

   {

       /** Demo. */

       public static String DEMO_TEXT = "This text is underlined";

       /** Khởi tạo demo. */

      public UnderlineTextDemo()

       {

          super("Underline Text Demo");

       }

       /** Bắt đầu demo. */

       public void startDemo()

       {   

          setSize(300, 200);

          setVisible(true);

       }

       /** Vẽ demo. */

       public void paint(Graphics g)

       {

          update(g);

       }

       public void update(Graphics g)

       {

          FontMetrics fm;

          int width;

          Insets insets;

          int x;

          int y;

          // Tính chiều rộng

          fm = g.getFontMetrics();

          width = fm.stringWidth(DEMO_TEXT);

          insets = getInsets();

          g.translate(insets.left, insets.top);

          // Khởi tạo tọa độ

          x = 10;

          y = 50;

          // Vẽ văn bản

          g.drawString(DEMO_TEXT, x, y);

          // Gạch chân văn bản

          g.drawLine(x, y + 1, x + width, y + 1);

       }

 

       /** Main. */

       public static void main(String[] args)

       {

          // Bắt đầu demo

          UnderlineTextDemo utd = new UnderlineTextDemo();

          utd.startDemo();

       } 

   }
Trong đoạn mã trên, hàm main() tạo một thực thể của ứng dụng và bắt đầu thực thi demo. Phương thức startDemo() xác lập kích thước của frame và hiển thị nó.
Công việc thực sự được thực hiện trong phương thức update(). Nó sử dụng FontMetrics hiện hành để xác định chiều rộng của chuỗi dữ liệu. Sau đó, chuyển ngữ cảnh đồ họa cho vùng làm việc và vẽ chuỗi dữ liệu. Gạch dưới chuỗi dữ liệu bằng việc vẽ một đoạn thẳng có cùng chiều rộng và ở dưới chuỗi dữ liệu một tí.
 
Trích từ "Thủ thuật lập trình trong Java"
Đăng nhập để trả lời
0