我需要,我觉得从里面for循环的功能,是不是在循环中使用的值,我无法弄清楚如何做到这一点。 什么我希望做到的是从一个HashMap中来,然后在绘制关键提取值JTable
(使用仅当行被选中 ListSelectionListener
)。 这样一来,我能避免绘图百桌这将节省大量的时间。 另外我使用DefaultTableModel
。
这是我的for循环:
tableMaker(model);
for(Map.Entry<String,NumberHolder> entry : entries)
{
//add rows for each entry of the hashmap to the table
double[] v = new double[entry.getValue().singleValues.size()];
int i = 0;
for(Long j : entry.getValue().singleValues)
{
v[i++] = j.doubleValue();
}
//right here I need to take "v"
//and use it in my tableMaker function for that specific row
}
在我tableMaker
功能,创建我JTable
并添加ListSelectionListener
,在这里我希望当选择行创建直方图,并将其添加到我的lowerPanel。 这是一些代码。 我需要v
,这样我可以创建数据集。
public static void tableMaker(DefaultTableModel m)
{
JPanel lowerPanel = new JPanel();
//create table here
frame.getContentPane().add(lowerPanel, BorderLayout.SOUTH);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
JFreeChart chart = ChartFactory.createHistogram(
plotTitle, xaxis, yaxis, dataset, orientation,
show, toolTips, urls);
// lowerPanel.add(chart);
// lowerPanel.revalidate();
}
}
});
}