JComboBox实现列表框 简单列表框 不强制存储列表项的ListModel和ComboBoxModel 强制存储列表项的DefaultListModel和DefaultComboBoxModel 使用ListCellRenderer 如果希望列表项是更复杂 的组件,例如,希望像 QQ 程序那样每个列表项既有图标,此时需要使用ListCellRenderer接口的实现类对象,自定义每个条目组件的渲染过程: public interface ListCellRenderer<E> { Component getListCellRendererComponent( JList<? super E> cellRenderer)方法,把自定义的ListCellRenderer对象传递给JList,就可以按照自定义的规则绘制列表项组件了。 案例: 使用ListCellRenderer实现下图效果: 演示代码: import javax.swing.*; import java.awt.*; public class ListCellRendererTest
该方法接受一个实现了ListCellRenderer接口的参数,而该接口只有一个方法getListCellRendererComponent,但是,该方法的实现是比较简单的,他只需要构造一个Component 最后说一个小技巧,我们实现一个类,从JPanel继承而来,同时又实现了ListCellRenderer接口,那么我们只用实现这一个类就可以了,到时候把自己返回。 下面我们来看一下具体的代码: class FontCellRenderer extends JPanel implements ListCellRenderer { public Component
列表单元格绘制器是用于实现下面这个接口的任意类: interface ListCellRenderer { Component getListCellRendererComponent(JList WIDTH = 400; private static final int HEIGHT = 300; } class FontCellRenderer implements ListCellRenderer
setRenderer(ListCellRenderer renderer):设置下拉列表中选项的渲染方式。