JComboBox change drop-down popup

后端 未结 4 1088
傲寒
傲寒 2020-12-06 14:47

basically is popup for a JComboBox displayed below its derived JTextField, how can change direction from bellowed orientations for JComboBox\'s popup and display JComboBox\'

4条回答
  •  旧时难觅i
    2020-12-06 15:08

    package com.example.swing;
    
    import javax.swing.JList;
    import javax.swing.ListCellRenderer;
    import java.awt.Component;
    import java.awt.Dimension;
    
    public class PaddingListCellRenderer implements ListCellRenderer {
        private final ListCellRenderer original;
        private final int hpadding;
        private final int vpadding;
    
        public PaddingListCellRenderer(ListCellRenderer original, int hpadding, int vpadding) {
            this.original = original;
            this.hpadding = hpadding;
            this.vpadding = vpadding;
        }
    
        @Override
        @SuppressWarnings("unchecked")
        public Component getListCellRendererComponent(JList list, Type value, int index, boolean isSelected, boolean cellHasFocus) {
            final Component component = original.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
            component.setPreferredSize(null);
            final Dimension pref = component.getPreferredSize();
            component.setPreferredSize(new Dimension(pref.width + 2 * hpadding, pref.height + 2 * vpadding));
            return component;
        }
    }
    

提交回复
热议问题