2

我正在使用 Swing 并将 JComboBox 添加到 JPanel。通常,当您单击 JComboBox 时,它会垂直枚举可能的选项(类似于任何网站上的组合框)。

但是,我希望 ComboBox 水平扩展 - 有没有办法在不编写自定义渲染器的情况下做到这一点?

垂直扩展

[ ComboBox ]

- Option
- Option
- Option

横向扩展

[ ComboBox ] -- [ Option | Option | Option | Option ]
4

1 回答 1

1

我很确定你的问题的答案是“不”。您将必须至少构建渲染器的一部分才能为您执行此操作。但这是一个开始:

//Override the createPopup method - everything else can stay the same
public static CustomRenderer extends MetalComboBoxUI{
    @Override
    protected ComboPopup createPopup() {
        // Do something different here
        ComboPopup result = super.createPopup();
        return result;
    }
}

并且您将希望将此 UI 安装在您希望将其应用于使用的 ComboBox 上box.setUI(new CustomRenderer());

于 2012-10-12T18:43:21.260 回答