这是我做出来的效果。
可是我想让图片占据整个组合框。有没有什么方法可以做到。我用了JComboBox.remove()。

解决方案 »

  1.   

    把图片调整一下大小,
    或者把图片作为背景重写JPanel组件,
    或者尝试一下绝对定位setBounds(x,y,h,w)
      

  2.   

    图片占满整个下拉框,可以用自己的ListCellRenderer,然后调用JComboBox.setRenderer()去除下拉箭头的话,估计要自己重写paint方法了,具体去看源码吧。
      

  3.   


    应该是没有简单的解决办法。可以根据当前的 LookAndFeel 改写一个相应的 ComboBoxUI 子类。
    为“箭头按钮”预留空间的代码在 BasicComboBoxUI 类里,这个类用一个自带的 Handler 非静态内部类来做 LayoutManager 的工作,你可以去读一下源码。你的 JComboBox 调用 remove 以后,“箭头按钮”虽然不画出来了,但是这部分预留空间的代码还是会执行。