Nơi dành cho thành viên đăng các bài viết hoàn chỉnh hoặc các câu hỏi
Search
Statistics
Total online: 1
Guests: 1
Users: 0
Add Icon To JCombobox
08-05-2012, 8:12 PM
Một
Jcombobox thông thường chúng ta chỉ có thể có các item là dạng text
thông thường. Tuy nhiên để các item đó có Icon cho sinh động chúng ta
cần sử dụng phương thức setRenderer của Jcobobox. Rất đơn giản chúng ta tạo lớp:
class ComboxRender extends JLabel implements ListCellRenderer {
sau khi implements ListCellRenderer cần hiện thực lại phương thức:
Phương thức trên trả về 1 component, lợi dụng điểm này chúng ta đã có class ComboxRender extends JLabel như vậy đối tượng trả về của phương thức trên sẽ chính là Jlabel với:
setIcon để có được icon theo mục tiêu ban đầu, cần lưu ý thêm các
phương thức setOpaque(true) và setBackground, chúng đảm bảo Jcombox của
chúng ta trông bình thường, (bạn có thể bỏ đi để xem vấn đề). Việc còn lại là tạo hàm main để chạy thử:
public static void main(String[] args) { JFrame frame = new JFrame("Add Icon To Jcombobox"); frame.setLayout(new BorderLayout()); frame.setDefaultCloseOperation(3); frame.setSize(300, 100); JComboBox comboBox = new JComboBox(new String[]{"Item1", "Item2", "Item3"}); comboBox.setRenderer(new ComboxRender()); frame.add(comboBox, "Center"); frame.setVisible(true); }