我正在与JUNG合作,并且我已经基于Show Layouts example设计了一个自定义渲染器。选择布局时一切都很好,但是我不得不承认,与其他jcombobox相比,自定义渲染器产生了一个非常难看的组合框在我的GUI中使用其原始渲染器(我将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;
}
}
我可以添加一些代码来保持原始渲染器的优美风格吗?
最好的祝福,
西蒙妮
最佳答案
您使用具有自己装饰的javax.swing.plaf.basic.BasicComboBoxRenderer
。
尝试使用DefaultListCellRenderer
,它将看起来很漂亮,与您的其他框相同。class ComboBoxRenderer extends DefaultListCellRenderer