Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-事件中的事件或发出事件发生的信号_Java_Swing_Events - Fatal编程技术网

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) {

我正在编写一个应用程序,其中执行流程如下

  • 用户选择菜单项
  • 基于哪个菜单项

  • 在单独的透明窗口(JFrame)上单击鼠标,提示用户输入
  • 代码是基于用户输入实现的
  • (2) 和(3)重复设定次数
  • 用户提示似乎很简单-我将鼠标侦听器作为

    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它在事件处理期间不触发事件,而是等待事件发生。我的理解有限,事件是按顺序排队和处理的,所以这不会发生。我已经更新了我的帖子,以澄清提示用户做什么。对话框窗口无法处理此问题。