كار با Clipboard در جاوا

سايت مرجع زبان برنامه نويسي جاوا                       Java.TadbirPoya.ir> Articles> Java SE> Java IO> How To Write Text to System Clipboard 

 انجام عمليات Copy - Cut - Paste در جاوا

 

 

تکنولوژيهای جاوا
Java SE
Java EE
Java ME
JasperReports

 

لينك هاي مفيد
تدبيرگران پوياپرداز
دانلود هاي جاوا
آموزش جاوا
بازگشت
خانه

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 شماره مقاله  :   39

      تاريخ ايجاد :      1388/05/26

        تاريخ ويرايش :   1388/05/26

        دفعات بروز رساني :    0 

  نويسنده : سيد علي عبدالهي پور

 

  چگونه مي توان توسط جاوا در Clipboard، يك متن يا Text وارد نمود؟  Copy-Paste

 

هدف از اين مقاله آموزش نحوه كار با Clipboard در سيستم عامل مي باشد. در اين مقاله هدف آن است كه با اجراي برنامه جاوا، متني را در Clipboard وارد نموده و بعد با بازكردن يك ويرايشگر متني مانند MS WORD، Nodpad ، Wordpad و انجام عمل Paste متن فوق را از Clipboard به ويرايشگر منتقل نماييد.

قبل از شروع كار لازم به توضيح است كه در كل دو نوع Clipboard وجود دارد.

1- System Clipboard : اين نوع حافظه موقت، مشترك بين همه برنامه هاي كاربردي موجود در سيستم عامل بوده و همه برنامه ها به آن دسترسي دارند. در واقع از آن مي توان به عنوان نوعي پل ارتباطي بين برنامه هاي مختلف ياد كرد. برنامه موجود در اين مقاله از اين نوع Clipboard استفاده مي كند.

2- Local Clipborad : نوع ديگري از حافظه موقت مي باشد كه فقط در اختيار يك برنامه جاوا بوده و براي كاربرد داخلي از آن استفاده مي شود.

 

نكات مهم در اين برنامه عبارتند از:

1- استفاده از واسط ClipboardOwner : برنامه هايي كه قصد استفاده از Clipboard را دارند ابتدا بايد از لحاظ سطح دسترسي نسبت به Clipboard  نقش Owner يا مالك را داشته باشند. به همين منظور و براي كنترل اين سطح دسترسي، كلاس برنامه، واسط ClipboardOwne را مورد استفاده قرار مي‌دهد.

اين واسط متدي با نام lostOwnership دارد كه زماني كه برنامه، ديگر كنترل Clipboard را به عنوان Owner آن از دست دهد، به برنامه اطلاع مي دهد.

2- مرحله بعد بكارگيري متد checkSystemClipboardAccess  از كلاس SecurityManager  جهت بررسي وضعيت دسترسي برنامه به Clipboard مي‌باشد.

3- getSystemClipboard متدي است كه به كمك آن امكان دسترسي به Clipboard سيستم به برنامه داده مي شود و مي توان محتويات درون آن را تغيير داد.

4- برنامه به كمك متد setContents قادر به تغيير محتويات جاري Clipboard مي باشد.

5- آخرين نكته در اين برنامه استفاده از كلاس StringSelection مي باشد. به كمك اين كلاس، برنامه قادر خواهد بود تا متني را به Clipboard‌ منتقل نمايد.

 

 

import java.awt.datatransfer.*;
import java.awt.*;

public class Java2Clipboard implements ClipboardOwner {
      public static void main(String[] args) throws Exception {
            Java2Clipboard jc = new Java2Clipboard();
            jc.toClipboard();
            Frame f = new Frame("Open a text editor and paste the message from Java");
            f.setSize(600,10);
            f.show();
      }

      public void toClipboard() {
            SecurityManager sm = System.getSecurityManager();
            if (sm != null) {
                  try {
                        sm.checkSystemClipboardAccess();
                  }
                  catch (Exception e) {e.printStackTrace();}
            }
            Toolkit tk = Toolkit.getDefaultToolkit();
            StringSelection st = new StringSelection("Hello world from Java");
            Clipboard cp = tk.getSystemClipboard();
            cp.setContents(st, this);
      }

      public void lostOwnership(Clipboard clip, Transferable tr) {
            System.out.println("Lost Clipboard Ownership?!?");
      }
}

براي كسب اطلاعات بيشتر در اين زمينه به مقاله زير مراجعه نماييد.

1- چگونه مي توان توسط جاوا محتويات متني موجود در Clipboard را خواند؟

دانلود برنامه هاي مورد استفاده در اين مقاله

مطالب موجود در اين سايت به جهت ارتقاء سطح علمي برنامه نويسان جاوا تهيه و تنظيم شده است. در صورت تمايل مي توانيد مطالب خود را در جهت اصلاح يا ارتقاء مقالات موجود و يا ايجاد مقالات جديد به آدرس ايميل زير ارسال نماييد.

 JArticles@TadbirPoya.ir

استفاده از مطالب موجود در سايت با ذكر منبع بلامانع است.

Copyright @2008-2009 TadbirPoya.ir Co.All rights reserved