- PR -

paste()メソッドでデータを取得しているかを調べたいのですが

1
投稿者投稿内容
uniqque
常連さん
会議室デビュー日: 2005/03/18
投稿数: 43
投稿日時: 2005-03-23 03:10
JTextAreaから8つオブジェクトを作り、それぞれで右クリックで
コピー 切り取り 貼り付け のポップアップメニューを表示し、
それぞれの処理を行うプログラムを作成しているのですが、
デフォルトでは貼り付け項目はsetEnabled(false)にして
使えないようにしています。
そしてどこかでコピーや切り取りを行った場合に
setEnabled(true)にしたいのですが、
どこかでコピーや切り取りを行ってペーストする際に
データの取得の方法がわかりません。
やろうとしていることですが、
それぞれのJTextAreaオブジェクトをクリックした時に、
もし他でコピーや切り取りを行って、貼り付けが可能なら
setEnabled(true)にし、他でコピーや切り取りを行っていなければ
setEnabled(false)のまま処理を続けます。
ここで貼り付けが可能かという判定の仕方など
もしよろしければアドバイス頂けないでしょうか。
よろしくおねがいします。
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2005-03-23 12:01
こんな?
コード:
public static boolean canPaste() {
   Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
   try {
      Transferable contents = clipboard.getContents(ClipboardTest.class);
      try {
         String data = (String) contents.getTransferData(DataFlavor.stringFlavor);
         if(data != null && data.length() != 0){
            return true;
         }
      }
      catch (UnsupportedFlavorException e) {
         e.printStackTrace();
      }
      catch (IOException e) {
         e.printStackTrace();
      }
   }
   catch (IllegalStateException e) {
      e.printStackTrace();
   }
   return false;
}

uniqque
常連さん
会議室デビュー日: 2005/03/18
投稿数: 43
投稿日時: 2005-03-23 14:15
できました。ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)