package chart; import chart.ChartGenerator; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.beans.PropertyVetoException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; /** * * @author Alberto */ public class WorkspacePanel extends JDesktopPane{ JPopupMenu Pmenu; JMenuItem chart; JMenuItem analysisTech; JMenuItem exportData; JSeparator sep; int x = 20; int y = 20; int displaceX = 40; int displaceY = 30; public WorkspacePanel(){ setBackground(Color.WHITE); } public void addChart(ChartGenerator g, String string) { JInternalFrame frame = new JInternalFrame(); frame.setTitle(string); frame.setVisible(true); ChartPanel panel = new ChartPanel(g); panel.createStage(); Pmenu = new JPopupMenu(); chart = new JMenuItem("Chart Settings"); chart.setBackground(new Color(236, 233, 216)); Pmenu.add(chart); sep = new JSeparator(); Pmenu.add(sep); analysisTech = new JMenuItem("Insert Analysis Technique"); analysisTech.setBackground(new Color(236, 233, 216)); Pmenu.add(analysisTech); sep = new JSeparator(); Pmenu.add(sep); exportData = new JMenuItem("Export Data"); exportData.setBackground(new Color(236, 233, 216)); Pmenu.add(exportData); panel.addMouseListener(new MouseAdapter(){ @Override public void mouseReleased(MouseEvent Me){ /if(Me.isPopupTrigger()){ { Pmenu.show(Me.getComponent(), Me.getX(), Me.getY()); } } }); chart.addMouseListener(new java.awt.event.MouseAdapter(){ @Override public void mousePressed(java.awt.event.MouseEvent evt) { dialogs.ChartFormat cs = new dialogs.ChartFormat(null, true); cs.setLocationRelativeTo(null); cs.setVisible(true); } }); frame.getContentPane().add(panel); frame.setResizable(true); frame.setIconifiable(true); frame.setMaximizable(true); frame.setIconifiable(true); frame.setClosable(true); frame.setSize(800,600); frame.setLocation(x, y); //frame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); frame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); this.add(frame); try { frame.setSelected(true); } catch (PropertyVetoException ex) { Logger.getLogger(WorkspacePanel.class.getName()).log(Level.SEVERE, null, ex); } x = x + displaceX; y = y + displaceY; } }