我遇到了一个使用JLayeredPane的奇怪行为。当我点击最顶部(显示的一个)面板的空白区域时,Swing实际上点击了一个位于该确切位置但位于隐藏层上的按钮。
以下是我构建JLayeredPane的方法:
volatilityOptionsPane = new OptionsPane( this, optionsBo, mpp.getSkewParams() );
volatilityOptionsPane.setBounds( 0, 0, 300, 750 );
screenOptionsPane = new CScreenOptionsPanel( this, optionsBo );
screenOptionsPane.setBounds( 0, 0, 300, 760 );
divFwdOptionsPane = new DivFwdOptionsPanel( this, optionsBo );
divFwdOptionsPane.setBounds( 0, 0, 300, 770 );
emptyOptionsPane = new JPanel();
emptyOptionsPane.setBounds( 0, 0, 300, 900 );
layeredOptionPane.add( volatilityOptionsPane, new Integer( 3 ) );
layeredOptionPane.add( emptyOptionsPane, new Integer( 2 ) );
layeredOptionPane.add( divFwdOptionsPane, new Integer( 1 ) );
layeredOptionPane.add( cscreenOptionsPane, new Integer( 0 ) );