Class MathVetoableChangeListener

  • All Implemented Interfaces:
    java.beans.VetoableChangeListener, java.util.EventListener

    public class MathVetoableChangeListener
    extends MathListener
    implements java.beans.VetoableChangeListener
    This class lets you trigger a call into Mathematica on the occurrence of a particular event. Like all the MathXXXListener classes, it is intended to be used primarily from Mathematica, although it can be used from Java code as well.

    In response to a PropertyChangeEvent, objects of this class send to Mathematica:

         userFunc[thePropertyChangeEvent]
    userFunc is specified as a string, either a function name or an expression (like a pure function "foo[#]&"), via the setHandler() method.

    To veto the property change, have userFunc return False.

    • Constructor Detail

      • MathVetoableChangeListener

        public MathVetoableChangeListener()
        The constructor that is typically called from Mathematica.
      • MathVetoableChangeListener

        public MathVetoableChangeListener​(KernelLink ml)
        You must use this constructor when using this class in a Java program, because you need to specify the KernelLink that will be used.
        Parameters:
        ml - The link to which computations will be sent when PropertyChangeEvents arrive.
      • MathVetoableChangeListener

        public MathVetoableChangeListener​(java.lang.String func)
        Because the PropertyChangeListener interface has only one method, vetoableChange(), you can specify the Mathematica function to be called with this constructor, rather than having to separately call setHandler(). Use this constructor from Mathematica code only.
        Parameters:
        func - The Mathematica function to be executed in response to a PropertyChangeEvent.
    • Method Detail

      • vetoableChange

        public void vetoableChange​(java.beans.PropertyChangeEvent e)
                            throws java.beans.PropertyVetoException
        Specified by:
        vetoableChange in interface java.beans.VetoableChangeListener
        Throws:
        java.beans.PropertyVetoException