Skip to content

Instantly share code, notes, and snippets.

@usbharu
Last active July 9, 2020 04:48
Show Gist options
  • Save usbharu/ef9317f466c544ba65002d77604d0bd8 to your computer and use it in GitHub Desktop.
Save usbharu/ef9317f466c544ba65002d77604d0bd8 to your computer and use it in GitHub Desktop.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.Component;
import javax.swing.JFrame;
java.awt.event.MouseEvent e;
class PopupMenu implements MouseListener{
JPopupMenu popup;
JFrame frame;
public PopupMenu(PApplet app){
frame = (JFrame) ((processing.awt.PSurfaceAWT.SmoothCanvas)app.getSurface().getNative()).getFrame();
popup = new JPopupMenu();
JMenuItem import_item = new JMenuItem("import");
popup.add(import_item);
import_item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
println("import");
}
}
);
}
private void showPopup(MouseEvent e){
if (e.isPopupTrigger()) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
}
@Override
public void mouseClicked(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
@Override
public void mousePressed(MouseEvent e) {
showPopup(e);
}
@Override
public void mouseReleased(MouseEvent e) {
showPopup(e);
}
}
PopupMenu p;
void setup(){
Component component = (Component) this.surface.getNative();
component.addMouseListener(new PopupMenu(this));
p = new PopupMenu(this);
size(300,300);
}
void draw(){}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment