+ ChartPanel cp = new ChartPanel(chart);\r
+ cp.getPopupMenu().add(new JMenuItem("Copy CSV to Clipboard") {\r
+ private static final long serialVersionUID = 1L;\r
+ {\r
+ addActionListener(new ActionListener() {\r
+ @Override\r
+ public void actionPerformed(ActionEvent ae) {\r
+ XYSeries s = dataset.getSeries(0);\r
+ StringBuilder sb = new StringBuilder();\r
+ sb.append(f.getName().substring(0, 1).toUpperCase()\r
+ + f.getName().substring(1));\r
+ sb.append("\n");\r
+ sb.append(Chart.this.xUnit.toString());\r
+ sb.append(",");\r
+ sb.append(Chart.this.yUnit.toString());\r
+ sb.append("\n");\r
+ for (int i = 0; i < s.getItemCount(); i++) {\r
+ sb.append(s.getX(i));\r
+ sb.append(",");\r
+ sb.append(s.getY(i));\r
+ sb.append("\n");\r
+ }\r
+ Toolkit.getDefaultToolkit()\r
+ .getSystemClipboard()\r
+ .setContents(\r
+ new StringSelection(sb.toString()),\r
+ null);\r
+ }\r
+ });\r
+ }\r
+ }, 3);\r
+ add(cp);\r