JComboBox默认情况下使用渲染器,该
toString()方法使用using 方法显示对象数据。因此,您可以创建自己的渲染类以自定义视图。
这就是它的设计方式。
proveedorCombo.setRenderer( new DefaultListCellRenderer(){ @Override public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if(value != null){ Proveedor proveedor = (Proveedor)value; setText( proveedor.getName()); } return this; }});
另一种骇人听闻的方法是
toString()从
Proveedor使用您的适配器类覆盖或使适配器类成为您的适配器类,
toString()但此解决方案不如其他解决方案灵活。
public class Proveedor {//in some part@Overridepublic String toString(){ return this.nombre;}}
如果要从零开始填充,请在组合框中。
proveedorCombo.setModel(new DefaultComboBox(new Vector<Proveedor>(dao.getAll())));
或者,如果您有以前的数据并且想要维护。
for(Proveedor p : dao.getAll){ proveedorCombo.addItem(p);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)