繁体   English   中英

与GUI中的原始渲染器相比,JComboBox自定义渲染器很难看

[英]JComboBox custom renderer is ugly compared to original renderer in GUI

我正在与JUNG一起工作,并且我已根据“ 显示布局”示例设计了一个自定义渲染器...在选择布局时一切都很好,但是我不得不承认,与其他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;
    }
}

我可以添加一些代码来保持原始渲染器的优美风格吗?

最好的问候,西蒙妮

而是扩展DefaultListCellRenderer

您使用具有自己的装饰的javax.swing.plaf.basic.BasicComboBoxRenderer

尝试使用DefaultListCellRenderer ,它将看起来很漂亮,与您的其他框相同。

class ComboBoxRenderer extends DefaultListCellRenderer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM