2013-11-15 16 views
6

Tôi muốn thêm thông báo chú giải công cụ nhiều dòng vào thành phần xoay của tôi. Giải pháp cơ bản là sử dụng các thẻ html như sau:java, chú giải công cụ nhiều dòng với độ rộng tối đa cố định, sử dụng thẻ html

label.setToolTipText("<html><p width=\"350px\">" + text + "</p></html>"); 

Nó hoạt động tốt với văn bản dài. Nhưng nếu văn bản, giả sử, chỉ chứa một từ, nó cũng sẽ có chiều rộng cố định 350px với nhiều không gian trống.


Có bất kỳ thuộc tính html đặc biệt nào cho chiều rộng tối đa sẽ hoạt động đúng với phương thức setToolTipText() không? Tôi đã thử các giải pháp tiếp theo nhưng nó không hoạt động:

"<p style=\"max-width: 350px\">" 

Tôi có nên tính toán chiều rộng văn bản bằng pixel và thay đổi mở <p> thẻ nếu chiều rộng ít hơn 350 px?

+0

Hi ferrerverck, Bạn đã tìm thấy một giải pháp? –

Trả lời

-2

tôi xin đề nghị như sau:

Sau khi thiết lập chiều rộng cố định, bạn có thể nhận được kích thước ưa thích sử dụng:

Dimension d = someToolTip.getPreferredSize(); 
if (d.width < 350) { 

    // Insert code to make tooltip-size smaller, by setting it to d.width; 

} 
+0

Xin chào Luke, ý tưởng của bạn sẽ có ý nghĩa nếu bạn đính kèm ít nhất một phần giải pháp. Ví dụ. kích thước ưa thích trong trường hợp của tôi trả lại cùng một giá trị như kích thước cố định mặc dù nó có thể được thực hiện ít hơn nhiều. Hoặc bạn có nghĩa là một cái gì đó khác hoặc bạn chỉ đề xuất ý tưởng mà không kiểm tra nó đầu tiên. –

+0

Đặt chú giải công cụ theo cách bạn mong muốn, nhận kích thước hiện tại qua getPreferredSize() và sau đó đặt kích thước đó trong trường hợp bạn muốn nó nhỏ hơn. Vì vậy, thay đổi chiều rộng theo cách thủ công thay vì đặt mức tối đa. – Luke

Các vấn đề liên quan