标签: actionevent

Android:OnTouch,MotionEvent.ACTION_MOVE无法识别?

这是我的代码,我想检测我的手指在屏幕上的时间,所以当我触摸屏幕时,我检测到ACTION_DOWN但是当我用手指向下移动屏幕时,ACTION_MOVE无法识别,ACTION_UP 你也不知道为什么?

        float x=0;
protected void onCreate(Bundle savedInstanceState) {
        do things

        ImageView image2 = (ImageView) findViewById(R.id.imageView3);
        image2.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
            if (arg1.getAction()==MotionEvent.ACTION_DOWN) {

                x=arg1.getX();
            }
            else {
                if (arg1.getAction()==MotionEvent.ACTION_MOVE){
                    if (arg1.getX()>x) {
                    do things
                    }
                }
                else {
                    if (arg1.getAction()==MotionEvent.ACTION_UP){
                        do things
                    }
                }
            }
}
Run Code Online (Sandbox Code Playgroud)

android ontouchlistener actionevent

26
推荐指数
3
解决办法
6万
查看次数

在按钮单击时从jtable中删除选定的行

我想从java中的表中删除Selected行.应该在按钮点击时执行该事件.如果有人帮忙,我会感激不尽的...

例如,有一个名为sub_table的表,其中包含3列,即sub_id,sub_name,class.当我从该表中选择其中一行并单击删除按钮时,应删除该特定行.

java swing jtable actionevent

7
推荐指数
1
解决办法
2万
查看次数

必须实现继承的抽象方法

我的类实现了ActionListener.我在下面实现了以下嵌套类:

JMenuItem mntmNew = new JMenuItem("New...");
    mntmNew.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            doNew(e); //calls to outer class for cleaner code
        }
    });
    mnFile.add(mntmNew);

    JMenuItem mntmLoad = new JMenuItem("Load...");
    mntmLoad.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            doLoad(e); //calls to outer class for cleaner code
        }
    });
    mnFile.add(mntmLoad);

//etc. for the rest of the menu system
Run Code Online (Sandbox Code Playgroud)

但是,Eclipse仍然告诉我,我的类必须实现继承的抽象方法ActionListener.actionPerformed(ActionEvent e).你能不能以这种方式在嵌套类中实现覆盖方法?

java swing interface nested-class actionevent

5
推荐指数
1
解决办法
1万
查看次数

GUI在运行ActionEvent之前无法直观更新

为了进一步阐述,我有一个看起来像这样的GUI:

在此输入图像描述

然后我在OK按钮上有一个动作监听器,它起始于:

//OK Button Action Listener
private void okButtonActionPerformed(ActionEvent e) {   
    //Enable/Disable Buttons
    okButton.setEnabled(false);
    cancelButton.setEnabled(true);
    updateCheckbox.setEnabled(false);
    //Move on to a series of other methods here...
Run Code Online (Sandbox Code Playgroud)

从理论上讲,这应该是这样的:

在此输入图像描述

但是,我得到以下内容,直到完成连接到OK按钮的所有方法和其他内容:

在此输入图像描述

这显然不可能发生,因为这个想法是让取消按钮可用,OK按钮和其他几个勾选框在程序的持续时间内不可用(图2),相反,它在半状态下冻结(图3).有没有办法打击这个?

java user-interface swing swingworker actionevent

5
推荐指数
1
解决办法
2860
查看次数

ActionEvent e 是什么意思?

我正在学习 Java,并且真的很想更深入地了解 ActionEvent e 参数的含义和代表的含义。当我编码时,我不只是想吐出有效的行,但我不明白。我想在使用它们之前对概念有一个完整的理解。

那么它的具体要求是什么,两部分(ActionEvent 和 e)是什么意思?

class ButtonListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

java awt actionlistener actionevent

4
推荐指数
1
解决办法
3万
查看次数

Javafx按钮向ActionEvent函数发送参数

我正在学习如何使用javafx,以及通过创建一个非常基本的计算器来使用场景构建器,但是我遇到了一个问题,我很难找到一种方法来为每个按钮找不到单独的功能.我需要知道是否有一种方法可以让按钮更改变量或为按钮链接的动作事件方法提供参数,因此我不需要为每个按钮调用另一个函数的单独方法.这是我正在使用的一个例子.

@FXML
private Button one;
private Button two;
//both buttons are linked to NumChange

private void NumChange(ActionEvent e) {
    //update the number to preform an operation with here
}
Run Code Online (Sandbox Code Playgroud)

如何让所有数字按钮使用相同的功能,但发送参数,以便它可以做不同的事情?

我发现的所有答案都涉及到使用按钮的文本,但是我的计算器很奇怪,而且我有拼写出来的字,所以我不能那样做,我该怎么办?

java javafx button fxml actionevent

4
推荐指数
1
解决办法
9689
查看次数

ActionEvent 获取按钮 JavaFX 的来源

我有大约 10 个按钮将被发送到相同的方法。我想要识别来源的方法。所以该方法知道按钮“完成”已经唤起了这个功能。然后我可以添加 if 语句的 switch case 来相应地处理它们。这是我尝试过的

//Call:
    btnDone.setOnAction(e -> test(e));


   public void test(ActionEvent e) {
        System.out.println("Action 1: " + e.getTarget());
        System.out.println("Action 2: " + e.getSource());
        System.out.println("Action 3: " + e.getEventType());
        System.out.println("Action 4: " + e.getClass());
    }
Run Code Online (Sandbox Code Playgroud)

输出结果:

Action 1: Button@27099741[styleClass=button]'Done'
Action 2: Button@27099741[styleClass=button]'Done'
Action 3: ACTION
Action 4: class javafx.event.ActionEvent
Run Code Online (Sandbox Code Playgroud)

完成是按钮上的文本。正如您所看到的,我可以使用 e.getTarget()和/或e.getSource()然后我必须对其进行子字符串化,因此只出现“完成”。有没有其他方法可以在撇号中获取字符串而不必使用子字符串。

更新:我尝试过传递 Button 并且它有效,但我仍然想知道使用 ActionEvent 的解决方案。

//Call:
        btnDone.setOnAction(e -> test(btnDone));


       public void test(Button e) {
            System.out.println("Action 1: " + e.getText());
        }
Run Code Online (Sandbox Code Playgroud)

输出是 Action 1: …

javafx get button actionevent

3
推荐指数
1
解决办法
2万
查看次数

JavaFX ComboBox setItems 触发 onAction 事件


我有一个 FXML 编辑器和一个控制器,它在树视图中选择时设置域对象。因此,每次在树视图中选择一个新对象时,控制器都会解除编辑器中所有控件与前一个对象的绑定,并绑定到新域对象的属性。这包括使用 setItems 从 ComboBox 中的域对象设置值。问题在于 setItems 会为项目列表中的每个项目触发 ComboBox 的 onAction 事件处理程序。据我了解, onAction 应该定义当用户从 ComboBox 中选择一个条目而不是在加载 ComboBox 时触发的代码?!
我可以通过使用鼠标释放事件或在 setItems 期间禁用 actionevent 的布尔信号量来解决这个问题。但是,由于我找不到其他人提出这个要求,我想知道是否有更普遍的问题,我最好向社区询问。
我在我的 OnAction 事件处理程序中创建了一个异常来打印堆栈跟踪 - 这帮助我理解我上面解释的内容。也许这个堆栈跟踪可以帮助您了解正在发生的事情/错误。第一行是在 FXML 中链接到 onActionEvent 的方法,堆栈跟踪中的最后一行是 ComboBox 的 setItems 调用:

at com.agiletunes.EditorCtrl.versionSelection(EditorCtrl.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.reflect.misc.Trampoline.invoke(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
    at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
    at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) …
Run Code Online (Sandbox Code Playgroud)

combobox javafx actionevent

3
推荐指数
1
解决办法
2549
查看次数

单击获取JButton的名称

  @Override
  public void actionPerformed(ActionEvent e) {
      if (e.getSource() == thirdBtn) {
          //System.out.println("Third Button Click");
          System.out.println(e.getSource()+" Click");
      }
  }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我想知道是否而不是这样做:

//System.out.println("Third Button Click");
Run Code Online (Sandbox Code Playgroud)

如果我能做这样的事情:

System.out.println(e.getSource()+" Click");
Run Code Online (Sandbox Code Playgroud)

但是代码输出:

BlackJack.OverBoard$BlackJackButton[,440,395,100x25,alignmentX=0.0,alignmentY=0.5,
    border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@7a3d8738,
    flags=16777504,maximumSize=,minimumSize=,preferredSize=,
    defaultIcon=,disabledIcon=,disabledSelectedIcon=,
    margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],
    paintBorder=false,paintFocus=true,
    pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,
    text=Change,defaultCapable=true] Click
Run Code Online (Sandbox Code Playgroud)

我不想要这个,我想知道如何获取JButton名称并在点击时输出它.

编辑:

有些人很困惑.当我说"名字"(也许这是错误的词)时,我的意思是说你初始化了一个JButton

JButton btnExample = new JButton();
Run Code Online (Sandbox Code Playgroud)

我想要它,以便当您单击按钮时,它btnExample在控制台中输出.

java swing jbutton output actionevent

2
推荐指数
2
解决办法
2万
查看次数

你可以在没有动作的情况下在java中调用动作事件

我想知道如果没有采取任何行动,你是否可以在java中发生一个动作事件.我的意思是欺骗它认为一个动作发生时它没有然后运行一个动作事件.我问这个的原因是因为它似乎很容易更新事件调度线程上运行的事情而不会发生实际事件.如果你们有人听说过这个,请告诉我.谢谢,

java swing event-dispatch-thread actionevent

2
推荐指数
1
解决办法
4964
查看次数