我目前正在对莎乐美TMF的项目,所以我下载的代码编译它 我得到这个错误后:接口XXXXX无法实施多次使用不同的参数
The interface ListCellRenderer cannot be implemented more than once with different
arguments: ListCellRenderer<Object> and ListCellRenderer UserListRenderer.java
,但我可以完全没有找到问题出在哪里。 这里的类UserListRenderer的代码:
package org.objectweb.salome_tmf.ihm.admin.models;
import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.Icon;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import javax.swing.UIManager;
import org.objectweb.salome_tmf.api.ApiConstants;
import org.objectweb.salome_tmf.api.Util;
import org.objectweb.salome_tmf.data.AdminProjectData;
import org.objectweb.salome_tmf.data.User;
import org.objectweb.salome_tmf.ihm.IHMConstants;
import org.objectweb.salome_tmf.ihm.tools.Tools;
public class UserListRenderer extends DefaultListCellRenderer implements
ListCellRenderer, ApiConstants , IHMConstants{
/**
* Le s?parateur de fichier
*/
/**
* M?thode qui red?finit le renderer des ?l?ments de la liste
* @param list la liste concern?e
* @param value l'objet dans la liste
* @param index indice dans la liste
* @param isSelected si l'objet est s?lectionn?
* @param cellHasFocus si le focus est sur la cellule
*/
public Component getListCellRendererComponent(JList list, Object value, int index,
boolean isSelected,
boolean cellHasFocus) {
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
Icon icon;
if (value instanceof User) {
icon = Tools.createAppletImageIcon(PATH_TO_ADMIN_ICON,"");
setIcon(icon);
setText(((User)value).getLoginFromModel() + "/" +
((User)value).getLastNameFromModel() + " " +
((User)value).getFirstNameFromModel());
} else if (value instanceof Icon) {
setIcon((Icon)value);
setText("");
} else {
setIcon(null);
setText((value == null) ? "" : value.toString());
}
setEnabled(list.isEnabled());
setFont(list.getFont());
setBorder((cellHasFocus) ? UIManager.getBorder("List.focusCellHighlightBorder") :
noFocusBorder);
return this;
} // Fin de la m?thode getListCellRendererComponent/5
} // Fin de la classe UserListRenderer
任何帮助将不胜感激
干杯
它看起来是一个矛盾的泛型参数的问题。如果从实施列表中删除ListCellRenderer会怎么样?因为父类DefaultListCellRenderer已经实现了它,所以不需要在接口列表中声明它。 – 2012-07-19 13:26:09
@HovercraftFullOfEels当我删除它的代码现在是正确的,但这会影响应用程序的执行? – 2012-07-19 13:31:17
'“这是否会影响执行......?”否:界面已经被父类关注了。 – 2012-07-19 13:44:21