I see.. While it might pose an inconvenience in some scenarios on OS X, I don't think it's an issue, since Apple JDK 6 behaves the same way, so I'm going to close the bug.
On 29.10.2013, at 15:14, Paul Taylor <paul_t...@fastmail.fm> wrote: > On 28/10/2013 12:29, Leonid Romanov wrote: >> Hello, >> I've filed a bug: >> https://bugs.openjdk.java.net/browse/JDK-8027374 >> > Hi, Ive think Ive found the issue for me , I created this test case and it > works correctly as you say > > import javax.swing.*; > > public class TableTest > { > public static void main(String[] args) throws Exception > { > JPopupMenu popup = new JPopupMenu("Popup"); > popup.add(new JMenuItem("Copy")); > JTable test = new JTable(5,5); > test.setComponentPopupMenu(popup); > test.setRowSelectionAllowed(true); > test.setColumnSelectionAllowed(true); > > UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); > JFrame frame = new JFrame(); > frame.add(test); > frame.pack(); > frame.setVisible(true); > } > } > > But if you comment out the line > > test.setComponentPopupMenu(popup); > > so that there is no popup menu then it doesn't work, CntlClick will change > the selection. > > Whether this is a bug, or correct behaviour Im not sure ? > > But the reason why this is causing an issue for me in my current code is that > Im not using setComponentPopupMenu()instead I'm adding a mouse handler to > the table that then decides whether or not to show a popup menu so I guess > the logic for Jtable must not detect that it has a popup menu in this case. > I've checked and the method was not added to JTable until Java 1.5 and my > code was started before then so hopefully I can just update my code to use > the method and the problem will go away for me. > > Paul > >