import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test1{
public static void main(String args[]){
MyFrame myFrame = new MyFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);
}
}
class MyFrame extends JFrame{
public MyFrame(){
setTitle("PopupMenuTest");
setSize(300,300);
setLocation(600,300);
JPopupMenu popup = new JPopupMenu();
JMenuItem item1 = new JMenuItem("Copy");
JMenuItem item2 = new JMenuItem("Cut");
popup.add(item1);
popup.add(item2);
popup.show(getContentPane(),50,50);//这里设置了咋没用呢?
}
}帮解释下,感谢!
import java.awt.event.*;
import javax.swing.*;
public class Test{
public static void main(String args[]){
MyFrame myFrame = new MyFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);// myFrame是在调用这句以后才显示在屏幕上
JPopupMenu popup = new JPopupMenu();
JMenuItem item1 = new JMenuItem("Copy");
JMenuItem item2 = new JMenuItem("Cut");
popup.add(item1);
popup.add(item2);
// 弹出菜单必须出现在已经显示的组件上,写在MyFrame构造方法里面,调用时myFrame还没有显示
popup.show(myFrame.getContentPane(),50,50);
}
}
class MyFrame extends JFrame{
public MyFrame(){
setTitle("PopupMenuTest");
setSize(300,300);
setLocation(600,300);
// 在此处调用时,MyFrame对象不可见
}
}