Пример #1
0
 /// <summary>
 /// Removes the specified <code>FlavorListener</code> so that it no longer
 /// receives <code>FlavorEvent</code>s from this <code>Clipboard</code>.
 /// This method performs no function, nor does it throw an exception, if
 /// the listener specified by the argument was not previously added to this
 /// <code>Clipboard</code>.
 /// If <code>listener</code> is <code>null</code>, no exception
 /// is thrown and no action is performed.
 /// </summary>
 /// <param name="listener"> the listener to be removed
 /// </param>
 /// <seealso cref= #addFlavorListener </seealso>
 /// <seealso cref= #getFlavorListeners </seealso>
 /// <seealso cref= FlavorListener </seealso>
 /// <seealso cref= FlavorEvent
 /// @since 1.5 </seealso>
 public virtual void RemoveFlavorListener(FlavorListener listener)
 {
     lock (this)
     {
         if (listener == null || FlavorListeners_Renamed == null)
         {
             return;
         }
         FlavorListeners_Renamed.remove(listener);
     }
 }
Пример #2
0
 /// <summary>
 /// Registers the specified <code>FlavorListener</code> to receive
 /// <code>FlavorEvent</code>s from this clipboard.
 /// If <code>listener</code> is <code>null</code>, no exception
 /// is thrown and no action is performed.
 /// </summary>
 /// <param name="listener"> the listener to be added
 /// </param>
 /// <seealso cref= #removeFlavorListener </seealso>
 /// <seealso cref= #getFlavorListeners </seealso>
 /// <seealso cref= FlavorListener </seealso>
 /// <seealso cref= FlavorEvent
 /// @since 1.5 </seealso>
 public virtual void AddFlavorListener(FlavorListener listener)
 {
     lock (this)
     {
         if (listener == null)
         {
             return;
         }
         if (FlavorListeners_Renamed == null)
         {
             CurrentDataFlavors      = AvailableDataFlavorSet;
             FlavorListeners_Renamed = new EventListenerAggregate(typeof(FlavorListener));
         }
         FlavorListeners_Renamed.add(listener);
     }
 }
Пример #3
0
        /// <summary>
        /// Checks change of the <code>DataFlavor</code>s and, if necessary,
        /// notifies all listeners that have registered interest for notification
        /// on <code>FlavorEvent</code>s.
        ///
        /// @since 1.5
        /// </summary>
        private void FireFlavorsChanged()
        {
            if (FlavorListeners_Renamed == null)
            {
                return;
            }
            Set <DataFlavor> prevDataFlavors = CurrentDataFlavors;

            CurrentDataFlavors = AvailableDataFlavorSet;
            if (prevDataFlavors.Equals(CurrentDataFlavors))
            {
                return;
            }
            FlavorListener[] flavorListenerArray = (FlavorListener[])FlavorListeners_Renamed.ListenersInternal;
            for (int i = 0; i < flavorListenerArray.Length; i++)
            {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final FlavorListener listener = flavorListenerArray[i];
                FlavorListener listener = flavorListenerArray[i];
                EventQueue.InvokeLater(new RunnableAnonymousInnerClassHelper2(this, listener));
            }
        }