怎样制作弹出菜单(pop-up menu)? 我faint了,你用jb,不是和c++builder一样作么。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 刚学编程,什么都不懂,没用过cbuilder,请多包涵不过还是请回答,谢谢 import java.awt.*;import java.awt.event.*;import javax.swing.*;public class PopupDemo extends JFrame{ public PopupDemo() { Container contentPane = getContentPane(); final JLabel label = new JLabel("Click here"); label.setHorizontalAlignment(JLabel.CENTER); final JPopupMenu popup = new JPopupMenu(); popup.add(new JMenuItem("item one")); popup.add(new JMenuItem("item two")); popup.add(new JMenuItem("item three")); popup.add(new JMenuItem("item four")); popup.add(new JMenuItem("item five")); contentPane.add(label,BorderLayout.CENTER); label.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { popup.show(label,e.getX(),e.getY()); } }); setTitle("Popup Menu"); setSize(500,400); } public static void main(String[] args) { JFrame frame = new PopupDemo(); frame.setVisible(true); }} 我new了一个JPopupMenu,但是运行show()方法的时候,总是提示:parent is null,但我的show方法的parent参数不为空,是一个JInternalFrame类型的对象,弹出菜单总是显示不了,请问是怎么回事? popMenu pm;pm = new popMenu();pm.show(itf, e.getX(), e.getY());poopMenu是一个继承自JPopupMenu的类,添加了两个菜单条itf是一个JInternalFrame的类new的时候没问题show的时候有问题 PopupMenu pm = new PopupMenu();popup.show(e.getComponent(), e.getX(), e.getY()); 改成e.getComponent()以后仍然不行,出错信息如下:Exception occurred during event dispatching:java.lang.NullPointerException: parent is null void java.awt.PopupMenu.show(java.awt.Component, int, int) PopupMenu.java:107 void lj.interfaces.Face$DbClick.mousePressed(java.awt.event.MouseEvent) Face.java:513 void java.awt.AWTEventMulticaster.mousePressed(java.awt.event.MouseEvent) AWTEventMulticaster.java:221 void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent) Component.java:3712 void java.awt.Component.processEvent(java.awt.AWTEvent) Component.java:3544 void java.awt.Container.processEvent(java.awt.AWTEvent) Container.java:1164 void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent) Component.java:2593 void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent) Container.java:1213 void java.awt.Component.dispatchEvent(java.awt.AWTEvent) Component.java:2497 void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent) Container.java:2451 boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent) Container.java:2210 boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent) Container.java:2125 void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent) Container.java:1200 void java.awt.Component.dispatchEvent(java.awt.AWTEvent) Component.java:2497 void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent) EventQueue.java:339 boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component) EventDispatchThread.java:131 void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component) EventDispatchThread.java:98 void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional) EventDispatchThread.java:93 void java.awt.EventDispatchThread.run() EventDispatchThread.java:85 JInternalFrame类好像是继承自component类啊 你用 JPopupMenu pm = new JPopupMenu(); pm.add(new JMenuItem("haha")); pm.show(e.getComponent(),e.getX(),e.getY()); 这个就没有问题了。 window open{"filename.jsp","title",toolbar=yes/no,left= ,top= , width= ,height= ,menubar=yes/no ,systemMenu=yes/no"} window.open{"filename.jsp","title",toolbar=yes/no,left= ,top= , width= ,height= ,menubar=yes/no ,systemMenu=yes/no"} 唉,继承错了,应该JPopupMenu,我继承的是popupMenu,改一下就行了,呵呵,我真菜! 学到IO 流时遇到的 一题, 帮忙解一下 JFrame关闭问题???? jdom,dom搞xml文件,要么不能读,要么不能写。 初学者请高手帮帮忙 判断输入的字符串是否为数字串 Java远程控制原理 请问常用的数据库开发工具是什么啊??? 怎么样连接oracle数据库啊 怎么去处理日志文件? 关于javax.usb......... 请问怎样在Applet中访问服务器的数据库? 各位大侠!想从.net转向java推荐一下啊! 请推荐一本java入门书(最好能够下载到,并请告知网址)谢谢。
不过还是请回答,谢谢
import java.awt.event.*;
import javax.swing.*;public class PopupDemo extends JFrame
{
public PopupDemo()
{
Container contentPane = getContentPane();
final JLabel label = new JLabel("Click here");
label.setHorizontalAlignment(JLabel.CENTER);
final JPopupMenu popup = new JPopupMenu();
popup.add(new JMenuItem("item one"));
popup.add(new JMenuItem("item two"));
popup.add(new JMenuItem("item three"));
popup.add(new JMenuItem("item four"));
popup.add(new JMenuItem("item five"));
contentPane.add(label,BorderLayout.CENTER);
label.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
popup.show(label,e.getX(),e.getY());
}
});
setTitle("Popup Menu");
setSize(500,400);
}
public static void main(String[] args)
{
JFrame frame = new PopupDemo();
frame.setVisible(true);
}
}
pm = new popMenu();
pm.show(itf, e.getX(), e.getY());poopMenu是一个继承自JPopupMenu的类,添加了两个菜单条
itf是一个JInternalFrame的类new的时候没问题
show的时候有问题
popup.show(e.getComponent(), e.getX(), e.getY());
Exception occurred during event dispatching:java.lang.NullPointerException: parent is null void java.awt.PopupMenu.show(java.awt.Component, int, int) PopupMenu.java:107 void lj.interfaces.Face$DbClick.mousePressed(java.awt.event.MouseEvent) Face.java:513 void java.awt.AWTEventMulticaster.mousePressed(java.awt.event.MouseEvent) AWTEventMulticaster.java:221 void java.awt.Component.processMouseEvent(java.awt.event.MouseEvent) Component.java:3712 void java.awt.Component.processEvent(java.awt.AWTEvent) Component.java:3544 void java.awt.Container.processEvent(java.awt.AWTEvent) Container.java:1164 void java.awt.Component.dispatchEventImpl(java.awt.AWTEvent) Component.java:2593 void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent) Container.java:1213 void java.awt.Component.dispatchEvent(java.awt.AWTEvent) Component.java:2497 void java.awt.LightweightDispatcher.retargetMouseEvent(java.awt.Component, int, java.awt.event.MouseEvent) Container.java:2451 boolean java.awt.LightweightDispatcher.processMouseEvent(java.awt.event.MouseEvent) Container.java:2210 boolean java.awt.LightweightDispatcher.dispatchEvent(java.awt.AWTEvent) Container.java:2125 void java.awt.Container.dispatchEventImpl(java.awt.AWTEvent) Container.java:1200 void java.awt.Component.dispatchEvent(java.awt.AWTEvent) Component.java:2497 void java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent) EventQueue.java:339 boolean java.awt.EventDispatchThread.pumpOneEventForHierarchy(java.awt.Component) EventDispatchThread.java:131 void java.awt.EventDispatchThread.pumpEventsForHierarchy(java.awt.Conditional, java.awt.Component) EventDispatchThread.java:98 void java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional) EventDispatchThread.java:93 void java.awt.EventDispatchThread.run() EventDispatchThread.java:85
JPopupMenu pm = new JPopupMenu();
pm.add(new JMenuItem("haha"));
pm.show(e.getComponent(),e.getX(),e.getY());
这个就没有问题了。