在JComboBox中更改滚动条的大小

时间:2010-07-08 19:20:58

标签: java swing jcombobox

有人知道如何手动更改jComboBox中的滚动条大小吗?我尝试了很多东西,没有任何作用。

1 个答案:

答案 0 :(得分:6)

好的,我想出来了。您可以实现PopUpMenuListener并使用它:

   public void popupMenuWillBecomeVisible(PopupMenuEvent e)
   {
      JComboBox comboBox = (JComboBox) e.getSource();
      Object popup = comboBox.getUI().getAccessibleChild(comboBox, 0);
      Component c = ((Container) popup).getComponent(0);
      if (c instanceof JScrollPane)
      {
         JScrollPane scrollpane = (JScrollPane) c;
         JScrollBar scrollBar = scrollpane.getVerticalScrollBar();
         Dimension scrollBarDim = new Dimension(SCROLLBAR_WIDTH, scrollBar
               .getPreferredSize().height);
         scrollBar.setPreferredSize(scrollBarDim);
      }
   }