【发布时间】:2013-07-13 17:28:33
【问题描述】:
我认为一切都搞砸了。我尝试在MouseEntered 事件触发时创建弹出窗口。我该如何解决这个问题?
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);
}
}
【问题讨论】:
-
什么不起作用?请描述您所看到的以及您期望看到的。
-
1) 对代码块使用一致且符合逻辑的缩进。代码的缩进是为了帮助人们理解程序流程。 2) 为了尽快获得更好的帮助,请发布SSCCE。 3) 不要扩展框架或其他顶级容器。而是创建并使用一个实例。 4) 源代码中的一个空白行总是就足够了。 5) 始终复制/粘贴错误和异常输出。
-
嗨,吉姆,正如我所说,我曾尝试在 mouseEntered 事件有效时创建弹出窗口。但我在线程“AWT-EventQueue-0”java.lang.IllegalArgumentException: Popup.getPopup must be传递非空内容
标签: java awt mouseevent mouselistener mouseenter