隐藏JComBox Box Arrow

Aka*_*ash 7 java swing jcombobox

是否可以隐藏JComboBox中显示的箭头

我尝试过设置:

combo.getComponent(0).setSize(new Dimension(1,1));
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用

Dan*_*ski 8

您必须为此创建一个新的组合框UI:

combo.setUI(new BasicComboBoxUI() {
    protected JButton createArrowButton() {
        return new JButton() {
            public int getWidth() {
                return 0;
            }
        };
    }
});
Run Code Online (Sandbox Code Playgroud)

但要小心从基本UI继承,以匹配您当前的外观.

例如,如果您使用Substance,则应该从而SubstanceComboBoxUI不是派生新的UI BasicComboBoxUI.否则你可能会失去当前L&F提供的功能.

编辑:如果你想这对获得某种自动完成功能的最好是坚持使用正常JTextField,并使用AutoCompleteDecoratorSwingX.

  • -1为脆弱的黑客... @Akash如果你不想要组合框行为,那么不要使用组合 (2认同)