我的设计如下。
当我点击可视化时,我得到散点图。
现在我想做的是改变时的图形
用户单击选项卡。我希望每个标签处理不同
图。我怎么能这样做?
主要问题是我无法做到
添加鼠标单击侦听器以向每个选项卡添加操作,
这是我的问题。我怎么能这样做?
答案 0 :(得分:2)
标签在没有鼠标的情况下更改。通常通过程序逻辑,例如当选项卡视图首次出现时使用默认选择或分配给选项卡的键盘助记符。添加鼠标侦听器会错过这些情况。
正如Stefan建议在JTabbedPane中添加Changelistener,无论何时或何因导致标签发生变化,您都会收到通知。
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
System.out.println("Tab index: " + tabbedPane.getSelectedIndex());
}
});
示例here。
要根据所选选项卡(散点图)更改上下文视图,您可以:
如果图表相同但数据发生了变化,则更新模型 在情节背后并刷新情节视图。使用MVC patterns等JFreeChart的API将允许您执行此操作。
如果每个标签的图表或视图大不相同,请使用CardLayout切换图表视图。