Add Icon To JCombobox - Java - Swing - Source code demo - AFgame
Sunday, 25-09-2016, 11:20 AM
AFgame                                               

Chi sẻ kiến thức lập trình - Các demo và ứng dụng mở


Welcome Guest
Menu
Demo - HTML Hack [3]
Java - Swing [5]
Java - 2D Graphics [1]
Java - IO [3]
Java - Audio [1]
Java - Lập trình mạng [2]
Java - Trí tuệ nhân tạo [7]
Java - Lập Trình Nâng Cao [5]
Java - BT Lập trình mạng [6]
Java - Common [2]
C# [1]
Android [15]
Database [1]
Jsp/Servlet [5]
Application [1]
Tài liệu [3]
Thành viên đăng bài [0]
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:

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        setText((String) value);
        setOpaque(true);
        if (isSelected) {
            setBackground(list.getSelectionBackground());
            setForeground(list.getSelectionForeground());
        } else {
            setBackground(list.getBackground());
            setForeground(list.getForeground());
        }
        setIcon(new ImageIcon(getClass().getResource("ico.png")));
        return this;
    }


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);
    }
Category: Java - Swing | Added by: as_fancy | Tags: icon, thiensuhanhphuc18, thong, Demo, java, khanh, jcombobox, as_fancy, Jackie, afgame
Views: 843 | Rating: 5.0/1
Total comments: 0
Giới Thiệu
Nghe Radio Zing
- Nhiều kênh
- Thêm kênh tùy thích
- Hẹn giờ tắt



Hát karaoke arirang
- Tìm kiếm nhanh chóng
- Hát thoải mái
- Nhạc beat Arirang chính hãng

Copyright AFgame © 2016
Trường ĐH Nông Lâm TP.HCM
Create a free website with uCoz