diff --git a/src/util/CollapsiblePanel.java b/src/util/CollapsiblePanel.java index d8309d37..90880179 100644 --- a/src/util/CollapsiblePanel.java +++ b/src/util/CollapsiblePanel.java @@ -89,10 +89,7 @@ protected void paintComponent(Graphics g) { } @Override - public void mouseClicked(MouseEvent e) { - requestFocus(); - toggleSelection(); - } + public void mouseClicked(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @@ -101,7 +98,15 @@ public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } @Override - public void mousePressed(MouseEvent e) { } + public void mousePressed(MouseEvent e) { + // Use mousePressed instead of mouseClicked. MOUSE_CLICKED is only + // delivered when the press and release occur at the same pixel; on + // macOS (especially high-DPI / trackpad systems like Apple Silicon) + // a sub-pixel finger movement during the click suppresses the event, + // making the disclosure header feel unresponsive. + requestFocus(); + toggleSelection(); + } @Override public void mouseReleased(MouseEvent e) { }