如何监听JComboBox的宽度变化?

时间:2010-04-26 10:01:04

标签: java swing

我尝试了PropertyChangeListener,其属性设置为“width”,“Width”,“size”和“Size”。

PropertyChangeListener widthChangeListener = new PropertyChangeListener() {
            @Override
            public void propertyChange(PropertyChangeEvent evt) {

                //code

        }
    };

    streamsComboBox.addPropertyChangeListener("width", widthChangeListener);
    projectsComboBox.addPropertyChangeListener("width", widthChangeListener);
    vobsComboBox.addPropertyChangeListener("width", widthChangeListener);

什么都行不通 - 处理程序方法永远不会被解雇 我该怎么做才能处理JComboBox的大小变化?无论如何,财产名称来自哪里?

1 个答案:

答案 0 :(得分:4)

尝试添加ComponentListener,例如:

combo.addComponentListener( new ComponentAdapter()
{
  public void componentResized( ComponentEvent e )
  {
    Component component = (Component)e.getSource();
    System.out.println( "Resized: " + component.getSize() );
  }
});