Подсказка о краже событий мыши - PullRequest
1 голос
/ 15 марта 2011

Когда у меня есть кнопки рядом с кнопкой на экране, под мышкой появляется всплывающая подсказка.Нажатие затем заставит всплывающую подсказку исчезнуть, вместо нажатия кнопки.

Tooltip Example

 public static void main(String[] args) {
    JFrame frame = new JFrame("Test");
    JButton button = new JButton("Test");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            System.out.println("action performed");
        }
    });
    button.setToolTipText("Sample tooltip text");
    frame.add(button);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    frame.pack();
}

Есть идеи, как гарантировать, что кнопка получает щелчок в этом случае?

1 Ответ

0 голосов
/ 15 марта 2011

Это произойдет только в том случае, если вы остановите мышь на кнопке, дождитесь всплывающей подсказки, затем переместите указатель мыши и щелкните подсказку.Если вы нажмете кнопку до того, как появится всплывающая подсказка, или если вы не подведете мышь к всплывающей подсказке, прежде чем щелкнуть вас / ваших пользователей, все будет в порядке.

Я считаю, что именно так должна работать подсказка, вы нажимаете на нее, чтобы отклонить.Если это вызывает проблемы, я бы предложил один из трех вариантов:

  1. Установить задержку для всплывающих подсказок, чтобы они были длиннее: ToolTipManager.sharedInstance().setInitialDelay()
  2. Не показывать подсказку вообще
  3. Напишите свой собственный слушатель движения мыши, который отображает подсказку в стороне или в другой части графического интерфейса.
...