最近在写数据库的课设,由于轻微的强迫症,把心思放在了美化界面上(美化java写的界面…………)在显示查询航空信息的结果界面时,直接在JList中使用字符串显得很丑,所以想要稍微美化一下,下面是效果的图,为了方便,直接使用了重复的数据。
具体实现是就是重写单元格渲染,JList的渲染有两种,一直是官方重写好的版本,扩展了JLbel(DefaultListCellRenderer),另一种是一个简单接口,需要自己去完全实现(ListCellRenderer),但可以扩展任何Component,对两种都需要自己去实现函数 public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) 参数的含义分别是(从左到右)设置单元格渲染的JList对象,往单元格添加的对象,索引,是否被选择,是否被关注,其中第一个参数一般不用,主要就是关注后几个参数,我实现的例子使用了JLabl,所以下面展示如何用DefaultListCellRenderer:
新建一个航空信息类: