01.
package
com.java.myapp;
02.
03.
import
java.awt.Button;
04.
import
java.awt.EventQueue;
05.
import
java.awt.Frame;
06.
import
java.awt.MenuItem;
07.
import
java.awt.PopupMenu;
08.
import
java.awt.event.ActionEvent;
09.
import
java.awt.event.ActionListener;
10.
import
java.awt.event.MouseAdapter;
11.
import
java.awt.event.MouseEvent;
12.
import
java.awt.event.WindowEvent;
13.
import
javax.swing.JOptionPane;
14.
15.
public
class
MyForm
extends
Frame {
16.
17.
public
static
void
main(String[] args) {
18.
EventQueue.invokeLater(
new
Runnable() {
19.
public
void
run() {
20.
MyForm form =
new
MyForm();
21.
form.setVisible(
true
);
22.
}
23.
});
24.
}
25.
26.
public
MyForm() {
27.
28.
super
(
"ThaiCreate.Com Java GUI Tutorial"
);
29.
setSize(
434
,
285
);
30.
setLocation(
500
,
280
);
31.
setLayout(
null
);
32.
33.
34.
final
Button btn =
new
Button(
"Pop-up Menu"
);
35.
btn.setBounds(
140
,
120
,
150
,
20
);
36.
final
CreatePopupMenu popMenu =
new
CreatePopupMenu(
this
);
37.
add(popMenu);
38.
btn.addActionListener(
new
ActionListener() {
39.
public
void
actionPerformed(ActionEvent e) {
40.
popMenu.show(btn,
20
,
20
);
41.
}
42.
});
43.
add(btn);
44.
45.
46.
addMouseListener(
new
MouseAdapter() {
47.
public
void
mousePressed(MouseEvent e) {
48.
if
(e.isPopupTrigger())
49.
popMenu.show(e.getComponent(), e.getX(), e.getY());
50.
}
51.
52.
public
void
mouseReleased(MouseEvent e) {
53.
if
(e.isPopupTrigger())
54.
popMenu.show(e.getComponent(), e.getX(), e.getY());
55.
}
56.
});
57.
58.
59.
addWindowListener(
new
java.awt.event.WindowAdapter() {
60.
public
void
windowClosing(WindowEvent evt) {
61.
System.exit(
0
);
62.
}
63.
});
64.
}
65.
66.
class
CreatePopupMenu
extends
PopupMenu
implements
ActionListener {
67.
MyForm ref;
68.
69.
public
CreatePopupMenu(MyForm ref) {
70.
super
(
"File"
);
71.
this
.ref = ref;
72.
MenuItem mnItem;
73.
add(mnItem =
new
MenuItem(
"Menu Item 1"
));
74.
mnItem.addActionListener(
this
);
75.
add(mnItem =
new
MenuItem(
"Menu Item 2"
));
76.
mnItem.addActionListener(
this
);
77.
add(mnItem =
new
MenuItem(
"Menu Item 3"
));
78.
mnItem.addActionListener(
this
);
79.
add(mnItem =
new
MenuItem(
"Menu Item 4"
));
80.
mnItem.addActionListener(
this
);
81.
add(mnItem =
new
MenuItem(
"Menu Item 5"
));
82.
mnItem.addActionListener(
this
);
83.
}
84.
85.
@Override
86.
public
void
actionPerformed(ActionEvent e) {
87.
88.
String item = e.getActionCommand();
89.
JOptionPane.showMessageDialog(
null
,
90.
"Your Selected : "
+ item.toString());
91.
}
92.
93.
}
94.
}