2012-04-03 28 views
25

Cách nhận màu nền mặc định của các thành phần xoay? Tôi có nghĩa là màu nền mặc định của JPanel?Nhận màu nền mặc định của thành phần xoay

+1

Có lẽ bạn đang tìm kiếm một cái gì đó như thế này: http://stackoverflow.com/questions/2739704/getting-panel-color? – ranman

+0

Thực tế bạn hỏi làm cho tôi nghi ngờ có cái gì đó sai với thiết kế của GUI. Nó là gì về màu mặc định bạn cần mà không thể được sắp xếp (tốt hơn) bởi 'super.paintComponent (g)'? BTW - Một Swing 'JPanel' thường (phụ thuộc PLAF) có màu BG khác với' JTable' hoặc 'JTextField'. Hãy cảnh giác với suy nghĩ bạn có 'màu' BG. –

Trả lời

49

Để có được DEFAULT màu rằng bảng điều khiển sẽ sử dụng khi nó được tạo ra sử dụng:

Color color = UIManager.getColor ("Panel.background"); 

Để có được HIỆN bảng sử dụng nền:

panel.getBackground(); 

Đối với một danh sách đầy đủ của UIManager màu tài sản, xem http://alvinalexander.com/java/java-uimanager-color-keys-list.

+0

Nó có trả về "màu DEFAULT mà bảng điều khiển sẽ sử dụng khi nó được tạo ra" không? Hoặc nó trả về giá trị sau lần cuối 'UIManager.put (" Panel.background ", màu sắc); ' ? – c0der

+0

Vâng, nếu bạn muốn đi sâu - 'JPanel' không có giá trị mặc định nào cả, nó được đặt từ thể hiện giao diện người dùng bảng điều khiển hiện tại trên cài đặt giao diện người dùng. Thông thường nó được lấy từ giá trị bảng mặc định giao diện người dùng trong khóa 'Panel.background'. Bạn có thể, tất nhiên, xác định lại giá trị đó - trong trường hợp đó sẽ là màu nền của bảng điều khiển mặc định và nó sẽ được sử dụng cho tất cả các bảng mới được tạo sau khi bạn đã định nghĩa lại nó. –

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