2009-09-09 57 views
5

Tôi đang tạo một trò chơi và trong menu tôi muốn hiển thị văn bản ở giữa màn hình. Có cách nào trong Java để nhận/tính chiều rộng của một đoạn văn bản trong một phông chữ được chỉ định với kích thước và kiểu được chỉ định hay không.Java: Phông chữ và Pixel

Martijn

Trả lời

11

Các FontMetrics.stringWidth phương pháp thực hiện điều đó - nó sẽ trở lại chiều rộng bằng pixel cho một String nhất định.

Bạn có thể có được FontMetrics từ đối tượng Graphics theo phương pháp getFontMetrics.

Ví dụ:

g.setFont(new Font("Serif", Font.BOLD, 24)); 
int width = g.getFontMetrics().stringWidth("Hello World!"); 

System.out.println(width); 

Kết quả là:

135 
+0

tại sao tóm tắt FontMetrics ?? –

+0

cảm ơn sự giúp đỡ nhanh chóng. –

+1

FontMetrics là trừu tượng bởi vì kết quả phụ thuộc vào đối tượng đồ họa cụ thể được sử dụng. –

1

Trong lớp Font bạn có phương pháp như vậy như getLineMetrics hoặc getStringBounds có thể giúp bạn.

0

Chỉ cần sử dụng JLabel được căn giữa và trình quản lý bố cục phù hợp và bạn không phải lo lắng về điều này.

0
JLabel label = new JLabel("Text"); 

frame.add(label , SwingConstants.CENTER); 
Các vấn đề liên quan