2

嗨,我想在显示屏上的命令之外添加一个检查(如在勾号中)。有什么方法可以实现吗?

4

1 回答 1

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;
    }

供您参考,请参阅此链接

最后,您需要将此渲染器类传递给 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
于 2011-01-25T07:42:17.113 回答