谁能帮我解释下 Component,Object?

twlhmq198821 2008-04-11 11:30:55
class BookCellRenderer extends JLabel implements ListCellRenderer{
private static final Color HIGHLIGHT_COLOR=new Color(0,0,128);

public BookCellRenderer(){
setOpaque(true);
setIconTextGap(5);
}
public Component getListCellRendererComponent(
JList lists,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
BookEntry entry=(BookEntry)value;
setText(entry.getTitle());
setIcon(entry.getImage());
if(isSelected){
setBackground(HIGHLIGHT_COLOR);
setForeground(Color.white);
}
else
{
setBackground(Color.white);
setForeground(Color.black);
}
return this;
}
}

请问这里 Component,Object 为什么是这样用?他们到底代表的是什么意思?
答案尽量详细点啊 谢谢
...全文
99 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fool_leave 2008-04-30
  • 打赏
  • 举报
回复
Component是界面的基类,是所有界面的爷爷
所以这个方法只要返回类型定义为Component,那么你就可以返回任何界面类

Object是所有类的爷爷
参数定义成Object,你就可以将任何东西传进去

---------------------------------------
http://topic.csdn.net/u/20080429/18/2ef7e7f7-7a00-4838-b4a7-ed8104b756ed.html
twlhmq198821 2008-04-11
  • 打赏
  • 举报
回复
还有个问题就是:

貌似Component函数里的参数有些没用啊,解释下
twlhmq198821 2008-04-11
  • 打赏
  • 举报
回复
没人回答我么?
twlhmq198821 2008-04-11
  • 打赏
  • 举报
回复
那 Component 的用法呢?
我才学不久 没有碰到过
twlhmq198821 2008-04-11
  • 打赏
  • 举报
回复
不够详细啊
最好把上面那道题每个细节给我讲讲
Inhibitory 2008-04-11
  • 打赏
  • 举报
回复
Object value,
在Java中, 所有的类都是类Object的子类, 这里把value定义为Object的对象, 是为了这个value能够接受所有类型的数据, 如
BookEntry entry=(BookEntry)value;
这里的value可以是BookEntry的对象, 你也可以定义成
BookEntry2的对象, 这个就像C++中的泛型编程似的, 可以接收所有类型的数据, 而不是在用新的数据类型的时候, 要修改程序所有与他相关的地方.
y_muzi 2008-04-11
  • 打赏
  • 举报
回复
Component 用来承载显示数据的渲染器
Object 是数据体,包Icon或其它,默认显示为Object.toString()

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧