Как сделать JOptionPane () после щелчка правой кнопкой мыши и объекта - PullRequest
2 голосов
/ 17 марта 2012

Я хотел бы создать событие мыши, которое позволит мне щелкнуть правой кнопкой мыши вкладку, выбрать и удалить ее.Как включить JOptionPane() после щелчка правой кнопкой мыши по имени вкладки?

Я не смог попробовать себя, так как понятия не имею ...

1 Ответ

0 голосов
/ 22 апреля 2012

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

Чтобы получать уведомления, если используемые щелчки правой кнопкой мыши где-то в JTabbedPane вы можете использовать:

tabbedPane.addMouseListener(new MouseAdapter()
{
    @Override
    public void mouseClicked(MouseEvent e)
    {
        if (e.getButton() == MouseEvent.BUTTON3)
            JOptionPane.showMessageDialog(
                null, "Clicked with right mouse button somewhere on the tabbed pane");
    }
});

Вы также можете получать уведомления, как только пользователь нажимает или отпускает кнопку мыши.См. API документацию для MouseListener.

. Чтобы получить уведомление об изменении вкладки, вы можете использовать:

tabbedPane.addChangeListener(new ChangeListener()
{
    @Override
    public void stateChanged(ChangeEvent e)
    {
        JOptionPane.showMessageDialog(null, "Tab changed");
    }
});

Может быть, вы можете каким-то образом объединить это.Идея (хотя и не очень красивая) заключается в следующем:

  1. Зарегистрируйте, что использованный нажимает правую кнопку мыши
  2. Если событие stateChanged происходит до (или вскоре после) мышиКнопка отпущена, покажите диалог сообщения.
...