ok in this tutorial, i an teaching how to add Popup Menus to your Application, Just read it careful, also try to do some practice, because practice makes a man perfect....
Importing Packages, you should know about packages...
PHP Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
now creating class with JFrame than initializing variables, creating constructor adding components etc
PHP Code:
public class PMDemo extends JFrame
{
JMenuBar mb;
JMenu file,edit;
JMenuItem open,close,copy,paste;
JPopupMenu pm;
static JFrame f;
public PMDemo(String s)
{
super(s);
f=this;
mb=new JMenuBar();
file=new JMenu("File");
edit=new JMenu("Edit");
open=new JMenuItem("open",KeyEvent.VK_O);
close=new JMenuItem("close",KeyEvent.VK_L);
copy=new JMenuItem("copy",KeyEvent.VK_C);
paste=new JMenuItem("paste",KeyEvent.VK_P);
file.add(open);
file.add(close);
edit.add(copy);
edit.add(paste);
mb.add(file);
mb.add(edit);
getRootPane().setJMenuBar(mb);
file.setMnemonic(KeyEvent.VK_F);
pm=new JPopupMenu();
open=new JMenuItem("Arrange");
close=new JMenuItem("Refresh");
copy=new JMenuItem("Copy");
paste=new JMenuItem("Paste");
pm.add(open);
pm.add(close);
pm.add(copy);
pm.add(paste);
MouseListener ml=new Javed();
f.addMouseListener(ml);
}
now creating class for Mouse Listener Interface Implementation
PHP Code:
public class Javed extends MouseAdapter
{
private void thisWillShow(MouseEvent me)
{
if(me.isPopupTrigger())
{
pm.show(me.getComponent(),me.getX(),me.getY());
}
}
public void mouseReleased(MouseEvent a)
{
thisWillShow(a);
}
}
The Orignal Complete Source is Below ... You can test it, this is a little hard way, but i will tell you easy way to create popup menu in near future. i hope you will like this tutorial too...
PHP Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PMDemo extends JFrame
{
JMenuBar mb;
JMenu file,edit;
JMenuItem open,close,copy,paste;
JPopupMenu pm;
static JFrame f;
public PMDemo(String s)
{
super(s);
f=this;
mb=new JMenuBar();
file=new JMenu("File");
edit=new JMenu("Edit");
open=new JMenuItem("open",KeyEvent.VK_O);
close=new JMenuItem("close",KeyEvent.VK_L);
copy=new JMenuItem("copy",KeyEvent.VK_C);
paste=new JMenuItem("paste",KeyEvent.VK_P);
file.add(open);
file.add(close);
edit.add(copy);
edit.add(paste);
mb.add(file);
mb.add(edit);
getRootPane().setJMenuBar(mb);
file.setMnemonic(KeyEvent.VK_F);
pm=new JPopupMenu();
open=new JMenuItem("Arrange");
close=new JMenuItem("Refresh");
copy=new JMenuItem("Copy");
paste=new JMenuItem("Paste");
pm.add(open);
pm.add(close);
pm.add(copy);
pm.add(paste);
MouseListener ml=new Javed();
f.addMouseListener(ml);
}
public class Javed extends MouseAdapter
{
private void thisWillShow(MouseEvent me)
{
if(me.isPopupTrigger())
{
pm.show(me.getComponent(),me.getX(),me.getY());
}
}
public void mouseReleased(MouseEvent a)
{
thisWillShow(a);
}
}
public static void main(String abc[])
{
PMDemo ob=new PMDemo("popup mnue title");
ob.setSize(200,200);
ob.setVisible(true);
ob.setTitle("ProgrammersTalk - AdnanAhsan");
}
}