1
我认为所有东西都搞砸了。我曾尝试在MouseEntered
事件触发时创建弹出窗口。我怎样才能解决这个问题?当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(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](http://sscce.org/)。 3)不要延长框架或其他顶层容器。而是创建并使用一个实例。 4)源代码中的单个空白行是* always *就足够了。 5)总是复制/粘贴错误和异常输出。 –
嗨,吉姆,因为我说我已经尝试创建弹出窗口时mouseEntered事件works.But我得到异常线程“AWT-EventQueue-0”异常java.lang.IllegalArgumentException:Popup.getPopup必须通过非空内容 – user2583511