Я реализую Java Swing GUI, в котором есть пара JLabels, которые несколько раз отображаются в JFrame. По этой причине я скопировал метки и сохранил их в векторе. Для каждого из ярлыков я добавил такого слушателя в конструктор моего расширяющего класса JFrame:
b1.addMouseListener(new LabelMouseListener(...));
Каждый раз, когда я хочу отобразить метки, я выбираю их из вектора и добавляю их в качестве компонента в рамку. Это отлично работает. А также слушатель, которого я добавил в конструктор, слушает. Но есть разница между поведением на Mac и на ПК. На Mac это работает совершенно нормально, но на ПК (Win XP) мне нужно дважды щелкнуть метку, прежде чем реагирует слушатель.
LabelMouseListener реализует MouseListener, и я переопределяю метод mouseClicked. Возможно, это также зависит от JavaRE, потому что на Mac я использую 1.6, на Win я использую 1.7. Это известная проблема, или у вас есть какие-либо предложения по причине ошибки?