Добавление слушателя щелчка мыши во вкладке в jtabbedpane в Java

1

У меня есть дизайн следующим образом. Изображение 174551
Когда я нажимаю визуализацию, я получаю график рассеяния. Теперь я хочу изменить график, когда пользователь нажимает на вкладки. Я хочу, чтобы каждая вкладка обрабатывала другой график. Как я могу это сделать? Основная проблема заключается в том, что я не могу добавить слушателя мыши, чтобы добавлять действия к каждой вкладке, то есть к моей проблеме. Как я могу это сделать?

  • 0
    Не могли бы вы использовать JTabbedPane ChangeListener ? Он получает уведомление при изменении выбранной вкладки. В этом слушателе вы можете проверить текущую вкладку и показать соответствующий график.
Теги:
netbeans
swing

1 ответ

2

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

Поскольку Стефан предложил добавить Changelistener в JTabbedPane, и вы будете уведомлены независимо от того, когда или что вызывает изменения вкладок.

tabbedPane.addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent e) {
        System.out.println("Tab index: " + tabbedPane.getSelectedIndex());
    }
});

Пример здесь.

Чтобы изменить контекстный вид на основе выбранного вкладки (график рассеяния), вы можете:

  • Если график один и тот же, но данные изменяются, то обновляйте модель за графиком и обновляйте вид сюжета. API с шаблонами MVC, такими как JFreeChart, позволит вам это сделать.

  • Если графики или представления существенно отличаются для каждой вкладки, используйте CardLayout для переключения видов сюжетов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню