Предполагается, что вы имеете в виду, когда пользователь выбирает пункт меню, абсолютно. Вы можете изменить свой график в любое время, когда происходит какое-то событие, вы просто должны его слушать. В вашем случае это может выглядеть примерно так.
http://www.java2s.com/Tutorial/Java/0240__Swing/ListeningtoJMenuItemEventswithanActionListener.htm
class MenuActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
updateMyChart();
}
}
void updateMyChart()
{
// get your plot, and add/remove/modify data series, annotations,
// markers, axes, etc. based off the state of your application.
}
Если вам нужно выполнить дорогостоящую операцию по обновлению диаграммы, например, длительный запрос к БД, то, возможно, вы захотите создать и запустить фоновый поток для него, чтобы поддерживать отзывчивость вашего пользовательского интерфейса. И вам нужно помнить о том, что вы делаете и работаете ли вы в потоке диспетчеризации основных событий или в фоновом потоке. Плохие вещи могут случиться, если вы пытаетесь делать GUI в фоновом потоке, но вы должны иметь возможность безопасно изменять состояние вашей диаграммы.