rendered paste bodyimport java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class popUpMenuInside extends JPopupMenu implements ActionListener,FocusListener{
private allData data;
private JMenuItem item;
private infoArea info;
private boolean isInside,isScatter;
private aCanvas canvas;
/** Creates a new instance of popUpMenu */
public popUpMenuInside(){}
public void setpopUpMenuInside(allData d,Point p,int curCat,int clickedCat,infoArea i) {
removeAll();
data=d;
info=i;
add(new JMenuItem("Top Restaurants In Category"));
addSeparator();
int total=0;
for(int x=0;x<data.getData().size()&&total<5;x++){
if(((aRestaurant)data.getData().get(x)).getCat(curCat)-1==clickedCat){
item=new JMenuItem((String)((aRestaurant)data.getData().get(x)).getName());
item.addActionListener(this);
add(item);
total++;
}
}
isInside=true;
isScatter=false;
setLocation(p.x,p.y);
setVisible(true);
System.out.println(isScatter);
}
public void setpopUpMenuInside(aCanvas c,Point p){
removeAll();
canvas=c;
add(new JMenuItem("Change background color"));
addSeparator();
item=new JMenuItem("Light Gray");
item.addActionListener(this);
add(item);
item=new JMenuItem("Green");
item.addActionListener(this);
add(item);
item=new JMenuItem("Yellow");
item.addActionListener(this);
add(item);
item=new JMenuItem("Pink");
item.addActionListener(this);
add(item);
isInside=false;
isScatter=false;
setLocation(p.x,p.y);
setVisible(true);
System.out.println(isScatter);
}
//Scatter inside points, since not sure what else to have on the pop up
public void setpopUpMenuInside(aCanvas c,Point p,boolean isScatter){
removeAll();
canvas=c;
add(new JMenuItem("Change Datapoint Color"));
addSeparator();
item=new JMenuItem("Black");
item.addActionListener(this);
add(item);
item=new JMenuItem("Red");
item.addActionListener(this);
add(item);
item=new JMenuItem("Blue");
item.addActionListener(this);
add(item);
isInside=true;
isScatter=true;
setLocation(p.x,p.y);
setVisible(true);
System.out.println(isScatter);
}
public void actionPerformed(java.awt.event.ActionEvent event) {
System.out.println(isScatter);
if(isInside){
if(isScatter)
{
if(((String)event.getActionCommand()).equals("Black"))
canvas.updatePoints(Color.BLACK);
else if(((String)event.getActionCommand()).equals("Red"))
canvas.updatePoints(Color.RED);
else
canvas.updatePoints(Color.BLUE);
}
else
for(int x=0;x<data.getData().size();x++)
if(((aRestaurant)data.getData().get(x)).getName().equals((String)event.getActionCommand()))
info.setText(((aRestaurant)data.getData().get(x)).getLongInfo());
}
else{
if(((String)event.getActionCommand()).equals("Light Gray"))
canvas.setBackground(Color.LIGHT_GRAY);
else if(((String)event.getActionCommand()).equals("Green"))
canvas.setBackground(Color.GREEN);
else if(((String)event.getActionCommand()).equals("Yellow"))
canvas.setBackground(Color.YELLOW);
else
canvas.setBackground(Color.PINK);
}
setVisible(false);
}
public void focusGained(java.awt.event.FocusEvent focusEvent) {
}
public void focusLost(java.awt.event.FocusEvent focusEvent) {
setVisible(false);
}
}