Java-事件中的事件或发出事件发生的信号
我正在编写一个应用程序,其中执行流程如下Java-事件中的事件或发出事件发生的信号,java,swing,events,Java,Swing,Events,我正在编写一个应用程序,其中执行流程如下 用户选择菜单项 基于哪个菜单项 在单独的透明窗口(JFrame)上单击鼠标,提示用户输入 代码是基于用户输入实现的 (2) 和(3)重复设定次数 用户提示似乎很简单-我将鼠标侦听器作为 class Trainer extends MouseAdapter { Point p; public Trainer() { p = new Point(0,0); } public void mouseClicked(MouseEvent e) {
class Trainer extends MouseAdapter {
Point p;
public Trainer() {
p = new Point(0,0);
}
public void mouseClicked(MouseEvent e) {
p = MouseInfo.getPointerInfo().getLocation();
output.append("test" + newline);
output.setCaretPosition(output.getDocument().getLength());
glass.setVisible(false);
}
}
mouseClicked方法的最后一行基本上隐藏了透明窗口,需要在下一次用户提示时重新显示(不太重要)
我试过了
1) 使用1,3,5等作为菜单选择触发的事件,但这会导致在我认为不允许/不可能的事件中发生事件(?)
2) 将每个事件作为一个单独的事件进行排序-繁琐但我仍然面临-3、5等如何知道2、4等事件何时触发
3) 可能我应该使用一个新线程。我是Java新手,关于这个主题的教程非常混乱——如果能提供一个清晰的讨论/教程,那就太好了
要清除用户,请选择一个菜单项。基于此选择,与用户进行来回交换,提示用户单击鼠标,并根据此单击进行响应(更新变量、决定下一个任务等)。系统会提示用户单击应用程序外部屏幕的某个部分,可以考虑让用户在桌面背景上选择一个红色部分。这需要一个临时的透明窗口来捕捉这个事件——我不认为对话框窗口能阻止它。所有关于使用透明窗口的讨论和例子都有缺陷,没有一个是可行的。如果我可以制作一个带有菜单项的窗口(JFrame或任何其他结构),一个可以有文本的部分,窗口的其余部分(半透明)以便我可以看到桌面背景,事情就会大大简化。1“事件中的事件”是一种误导性的说法。事件可以在任何时间触发,并将异步处理,允许在事件处理代码中触发事件。2) 不要将鼠标侦听器附加到窗口,而是将actionlisteners/selectionlisteners添加到菜单项,我会告诉您如何添加,但我不知道“菜单项”(JMenuItem?JList中的项?)3)不使用,使用JDialogs提示用户输入。@DSquare它在事件处理期间不触发事件,而是等待事件发生。我的理解有限,事件是按顺序排队和处理的,所以这不会发生。我已经更新了我的帖子,以澄清提示用户做什么。对话框窗口无法处理此问题。