Java 当MouseEnter事件触发时显示弹出窗口
我想一切都搞砸了。我曾尝试在启动Java 当MouseEnter事件触发时显示弹出窗口,java,awt,mouseevent,mouselistener,mouseenter,Java,Awt,Mouseevent,Mouselistener,Mouseenter,我想一切都搞砸了。我曾尝试在启动鼠标时创建弹出窗口。我怎样才能解决这个问题 Popup p=factory.getPopup(c,null,x,y); 我不确定参数 此代码的其余部分: public class pop extends JFrame{ class mypopUpShow implements ActionListener{ JComponent c; // final Random random; public mypopUpShow(JCompo
鼠标时创建弹出窗口。我怎样才能解决这个问题
Popup p=factory.getPopup(c,null,x,y);
我不确定参数
此代码的其余部分:
public class pop extends JFrame{
class mypopUpShow implements ActionListener{
JComponent c;
// final Random random;
public mypopUpShow(JComponent c){
this.c=c;
}
@Override
public void actionPerformed(ActionEvent ae) {
Random random=new Random();
int x = random.nextInt(200);
int y = random.nextInt(200);
PopupFactory factory=PopupFactory.getSharedInstance();
Popup p=factory.getPopup(c,null,x,y);
p.show();
}
}
public pop() {
JPanel Panel=new JPanel();
final Timer t=new Timer(100, new mypopUpShow(Panel));
MouseListener listener=new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent me){
t.start();
}
};
setSize(300,300);
Panel.addMouseListener(listener);
add(Panel);
}
public static void main(String...arg){
new pop().setVisible(true);
}
}
问题是您正在为getPopup(组件所有者,
组件内容,int x,int y)为空。这就是为什么你会得到一个非法的辩论例外。尝试将null更改为“newjbutton(“TEST”),您将看到大量按钮弹出。内容是您想要弹出的内容(小部件、面板、窗口等)。问题是您正在为getPopup(组件所有者、,
组件内容,int x,int y)为空。这就是为什么你会得到一个非法的辩论例外。尝试将null更改为“newjbutton(“TEST”),您将看到大量按钮弹出。内容是您想要弹出的内容(小部件、面板、窗口等)。什么不起作用?请描述您正在看到的内容和期望看到的内容。1)对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程。2) 为了更快地获得更好的帮助,请发布一个。3) 不要延伸框架或其他顶级容器。而是创建并使用一个实例。4) 源代码中只有一行空白就足够了。5) 始终复制/粘贴错误和异常输出。您好,jim,正如我所说,我曾尝试在mouseEntered事件工作时创建弹出窗口。但我在线程“AWT-EventQueue-0”java.lang.IllegalArgumentException中得到异常:popup.getPopup必须传递非空内容。什么不起作用?请描述您正在看到的内容和期望看到的内容。1)对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程。2) 为了更快地获得更好的帮助,请发布一个。3) 不要延伸框架或其他顶级容器。而是创建并使用一个实例。4) 源代码中只有一行空白就足够了。5) 始终复制/粘贴错误和异常输出。嗨,jim,正如我所说,我曾尝试在mouseEntered事件工作时创建弹出窗口。但我在线程“AWT-EventQueue-0”java.lang.IllegalArgumentException:popup.getPopup必须传递非空内容谢谢dave你很棒谢谢dave