我正在和JUNG合作,我在Show Layouts example的基础上设计了一个自定义渲染器...一切都很好选择布局,但我不得不承认自定义渲染器产生了一个非常难看的组合我的GUI中的其他jcombobox与其原始渲染器相比(我使用Swing和NetBeans 7.0)。这是自定义渲染器的代码:
class ComboBoxRenderer extends javax.swing.plaf.basic.BasicComboBoxRenderer {
public ComboBoxRenderer() {
super();
setOpaque(true);
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value instanceof Class) {
String valueString = value.toString();
valueString = valueString.substring(valueString.lastIndexOf('.') + 1);
setText(valueString);
}
return this;
}
}
为了保持原始渲染器的漂亮风格,我可以在代码中添加一些内容吗?
祝你好运, 西蒙
答案 0 :(得分:3)
答案 1 :(得分:1)
您使用具有自己装饰的javax.swing.plaf.basic.BasicComboBoxRenderer
。
尝试使用DefaultListCellRenderer
,它看起来很漂亮,和其他人一样。
class ComboBoxRenderer extends DefaultListCellRenderer