2011-07-29 29 views
5

Tôi có một JPanel với JButton, JTextField và JTable, và phím TAB sẽ duyệt qua các thành phần này như mong đợi với một hộp đen nhỏ được vẽ xung quanh thành phần (hoặc ô trong trường hợp JTable) đã tập trung. Làm cách nào để thay đổi màu của chỉ báo tiêu điểm hộp đen?Thay đổi màu của chỉ báo Tiêu điểm Thành phần Java Swing

Trả lời

3

Giao diện lựa chọn nằm dưới sự kiểm soát của đại biểu giao diện người dùng của mỗi thành phần, được thảo luận trong How to Set the Look and Feel.

Là một ví dụ cụ thể, trên một số L & Fs, bạn có thể ghi đè giá trị mặc định khi chương trình khởi động:

UIManager.put("Button.focus", Color.red); 
+0

Cảm ơn, mà đã cho tôi một bước về phía trước. Những gì tôi đang cố gắng để tìm ra là lý do tại sao một số JTables trong một ứng dụng lớn có chỉ số tập trung và một số không. Tôi đã sử dụng: UIManager.put ("Table.focusCellHighlightBorder", BorderUIResource mới (new LineBorder (new Color (255,0,0)); Và những JTables có chỉ báo lấy nét này đổi thành màu đỏ nhưng tôi vẫn không thấy chỉ báo lấy nét trên tất cả các JTables.Bất cứ ý tưởng nào tại sao một ô trong JTable sẽ không hiển thị chỉ báo tiêu điểm? – splatek

+1

@splatek nhưng chủ đề đó cho câu hỏi mới, với mã của bạn ... http://www.java2s.com/Code/Java/ Swing-JFC/CatalogSwing-JFC.htm – mKorbel

+0

@mKorbel là chính xác. Đây là [ví dụ] (http://stackoverflow.com/questions/6873665/jtable-row-selection-background-problem/6874437#6874437) hoạt động với biên giới của bạn, nó có thể làm cho một tốt [sscce] (http://sscce.org/).Bạn cũng có thể tìm kiếm một thiết lập biên giới 'null' – trashgod

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