private void showHoldPanel(boolean showPanel) { if (holdPanel == null) { holdPanel = new HoldPanel(); holdPanel.addHoldListener( new ActionListener() { public void actionPerformed(ActionEvent e) { takeOffHold(); } }); holdPanel.addVolumeChangeListener( new ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { javax.swing.JSpinner holdVolumeSpinner = (javax.swing.JSpinner) evt.getSource(); setHoldVolume((Float) holdVolumeSpinner.getValue()); } }); } holdPanel.setVisible(showPanel); if (showPanel) { add(holdPanel, BorderLayout.NORTH); if (normalHeight == 0) { normalHeight = addHUDComponent.getHeight(); } /* * FIX ME: setting the height confuses the mouse listener * and clicking on the Take Off Hold button doesn't work. */ // addHUDComponent.setHeight(holdPanel.getPreferredSize().height); } }