home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 39 / IOPROG_39.ISO / SOFT / sdkjava40.exe / data1.cab / fg_Samples / Samples / afc11 / JNotepad / src / JNoteClipboard.java < prev    next >
Encoding:
Java Source  |  2000-05-04  |  1.8 KB  |  95 lines

  1. //
  2. // (C) Copyright 1995 - 1999 Microsoft Corporation.  All rights reserved.
  3. //
  4. /**
  5. *    Clipboard for JNotepad. Since Clipboards are security violations when    
  6. *    running as an applet, we implement our own. If we're running standalone,
  7. *    act like a regular clipboard.
  8. *
  9. *    @version    1.0, 8/22/97
  10. */
  11.  
  12. import java.awt.datatransfer.*;
  13. import java.awt.*;
  14.  
  15. import com.ms.ui.*;
  16.  
  17. public class JNoteClipboard
  18. {
  19.     private static String sClipboardContents;
  20.     private static boolean isApplet;
  21.     
  22.     public JNoteClipboard()
  23.     {
  24.         isApplet = false;
  25.         sClipboardContents = "";
  26.     }
  27.     
  28.     public static void initClipboard()
  29.     {
  30.         isApplet = JNoteAppletObject.isApplet();
  31.     }
  32.     
  33.     public static void put(String text)
  34.     {
  35.         if (isApplet)
  36.         {
  37.             appletPut(text);
  38.         }
  39.         else
  40.         {
  41.             appPut(text);
  42.         }
  43.     }
  44.     
  45.     public static String get(Object pasteTarget)
  46.     {            
  47.         if (isApplet)
  48.         {
  49.             return appletGet();
  50.         }
  51.         else
  52.         {
  53.             return appGet(pasteTarget);
  54.         }
  55.     }
  56.     
  57.     private static void appPut(String text)
  58.     {            
  59.         Clipboard clipBoard = Toolkit.getDefaultToolkit().getSystemClipboard();    
  60.         StringSelection cbdata = new StringSelection(text);
  61.         clipBoard.setContents(cbdata, cbdata);
  62.     }
  63.     
  64.     private static void appletPut(String text)
  65.     {
  66.         sClipboardContents = text;
  67.     }
  68.     
  69.     private static String appGet(Object pasteTarget)
  70.     {            
  71.         Clipboard clipBoard = Toolkit.getDefaultToolkit().getSystemClipboard();    
  72.         Transferable cbdata = clipBoard.getContents(pasteTarget);        
  73.         
  74.         if (cbdata != null)
  75.         {
  76.             try 
  77.             {
  78.                 return (String)cbdata.getTransferData(DataFlavor.stringFlavor);                            
  79.             }
  80.             catch (Exception e)
  81.             {
  82.                 System.out.println("Data not string flavor");
  83.             }                        
  84.         }
  85.         
  86.         return "";
  87.     }                            
  88.     
  89.     private static String appletGet()
  90.     {    
  91.         return sClipboardContents;
  92.     }
  93.     
  94.     
  95. }