⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 genericlistcellrenderer.java

📁 oraily的Swing hacks code
💻 JAVA
字号:
import java.awt.*;import javax.swing.*;import java.lang.reflect.*;public class GenericListCellRenderer extends DefaultListCellRenderer {    protected String method;    public GenericListCellRenderer(String method) {        super();        this.method = method;    }            public Component getListCellRendererComponent(JList list, Object value,        int index, boolean isSelected, boolean cellHasFocus) {                JLabel label = (JLabel)super.getListCellRendererComponent(            list,value,index, isSelected, cellHasFocus);                try {            Method meth = value.getClass().getMethod(method,null);            if(meth != null) {                Object retval = meth.invoke(value,null);                label.setText(""+retval);            }        } catch (Exception ex) {            System.out.println("got an execption: " + ex);            ex.printStackTrace();        }                return label;            }        public static void main(String[] args) {        String[] data = { "Proton", "Neutron", "Electron" };        JList list = new JList(data);        //        GenericListCellRenderer renderer = //            new GenericListCellRenderer("toString");        GenericListCellRenderer renderer =             new GenericListCellRenderer("length");//        GenericListCellRenderer renderer = //            new GenericListCellRenderer("hashCode");        list.setCellRenderer(renderer);                JFrame frame = new JFrame("Cell Renderer Hack");        frame.getContentPane().add(list);        frame.pack();        frame.setVisible(true);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -