您好我想在显示屏上除了命令之外还包括一个支票(如刻度线)。我有什么方法可以实现它吗?
答案 0 :(得分:2)
您可以使用ListCellRenderer接口创建新类,也可以使用DefaultListCellRenderer类进行扩展。然后实现所有抽象方法并覆盖这样的getListCellRendererComponent方法,
public Component getListCellRendererComponent(List list, Object value,
int index, boolean isSelected) {
if (isSelected && list.hasFocus()) {
// do selected style that means selected command style
} else {
// do unselected style that means unselected command style
}
return this;
}
供参考,请参阅此link。
最后,您需要将此渲染器类传递给setMenuRenderer方法。
对于单一形式意味着这样做,
Form form = new Form();
form.setMenuRenderer(new MenuRenderer()); // pass your created render class
对于所有形式的意思都是这样的,
UIManager.getInstance().getLookAndFeel()
.setMenuRenderer(new MenuRenderer()); // pass your created render class