2013-02-06 61 views
7

Vì vậy, tôi có một JTextArea hiển thị văn bản ngay từ góc trên cùng bên trái. Tôi muốn một số lề trên tất cả 4 mặt, do đó, có một số không gian giữa văn bản và ranh giới của khu vực.Thêm lề trong JTextArea?

Tôi đã nghiên cứu rất nhiều và không thể tìm thấy giải pháp nào. Tôi làm nó như thế nào?

Ngoài ra, tôi đã nghĩ có thể dán nhãn lên tất cả 4 mặt để tạo lề giả. Làm cách nào để tạo một số JLabel với chiều rộng và chiều cao nhất định?

+2

Có thể là tôi không hiểu câu hỏi của bạn một cách chính xác. Bạn không thể sử dụng 'setMargin()'? – Smit

+0

Chính xác là những gì @Smit nói. [Các javadocs có liên quan] (http://docs.oracle.com/javase/6/docs/api/javax/swing/text/JTextComponent.html#setMargin%28java.awt.Insets%29). ['Insets'] (http://docs.oracle.com/javase/6/docs/api/java/awt/Insets.html) chỉ là 4 giá trị tính bằng pixel đại diện cho kích thước của lề cho trên cùng, phía dưới, bên trái và bên phải. – Brian

+0

AFAICT, đây là những gì anh ấy đang tìm kiếm. Đặt đường viền không tốt vì nó sẽ làm giảm đường viền dự kiến ​​mặc định. Một biên giới hợp chất có thể giúp làm việc xung quanh vấn đề nhưng lamer của nó hơn bằng cách sử dụng setMargin –

Trả lời

10

Có thể tôi không hiểu câu hỏi của bạn một cách chính xác. Tuy nhiên bạn có thể sử dụng setMargin()

// set the margin for all four sides 
tt.setMargin(new Insets(10,10,10,10)); // tt is JTextArea instance 

Một số Liên kết quan trọng

1. setMargin API

2. Class Insets

+0

Không bao giờ biết điều này tồn tại! – user2027425

+1

(@Smit, theo các bình luận trước đây của chúng tôi): Tôi không muốn đặt đường viền vì nó xóa đường viền trường văn bản mong đợi. Nếu bạn vẫn muốn sử dụng đường viền, bạn có thể kết hợp đường viền hiện tại của trường văn bản với đường viền biên và đường viền trống như đường viền bên trong hoặc bên ngoài của nó (tùy thuộc vào hiệu ứng bạn đang cố gắng đạt được). Nếu đó là bên trong, tôi thích sử dụng setMargin(), đơn giản và mạnh mẽ hơn. –

+0

@GuillaumePolet +1 Cảm ơn bạn đã biết. Nếu bạn muốn, bạn cũng có thể thêm câu trả lời này. – Smit

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