2017-05-23 9 views
0

ユーザーが適切なボタンをクリックすると、クリップボードに文字列をコピーしようとしています。この特定の操作は、JDialogで実行されるはずです。クリップボードに文字列をコピーできない(Java)

btnCopy.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 

     StringSelection selection = new StringSelection(txtarContent.getText()); 
     Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
     clipboard.setContents(selection, selection); 

    } 
}); 

私は、Mac OS X上のEclipse(neon.3)を使用しています(10.12.4シエラ):
はここでコピーが発生しなければならない私のコードの一部です。コメント欄で質問をもとに


編集:

  • 例外がスローされない(また任意のエラー/警告されている)されて
  • コードの実行後、クリップボードが変更されていない
まま
+0

例外がスローされましたか? 'setContents'を呼び出すと' IllegalException'となるかもしれませんか? – Mena

+0

あなたの投稿を編集して、問題の原因となる部分を保ちました。可能な限り最小限のサイズでコードを守ってください(あなたの質問には尋ねられましたが、「テストされたため問題を引き起こすことはできません」というパーツを投稿する必要はありません)。 – Nathan

+0

また、最終結果は何ですか?クリップボードが空、コピーが間違っている、または変更されていない – Nathan

答えて

0

問題が解決しました:
問題は解決策ではなく、私のコードにあります。
ボタンのリスナーが機能していないようになったので、コードは実行されませんでした。

初心者の方でも、リスナーがうまく動作するかどうかなど、最も明白なことさえ確認するのは良いレッスンです。みんなあなたに助けてくれてありがとう。

+0

私はあなたが働いてうれしいです。しかし、コードにはまだ問題があります。クリップボードの呼び出しは クリップボードにする必要があります。setContents(選択、選択); StringSelectionはTransferableとClipboardOwnerの両方であるため、クリップボードの内容の変更に正しく応答できます。 – MiguelMunoz

+0

アドバイスをいただきありがとうございます。他の初心者を誤解させないために質問欄を編集しました。ちゃんと覚えておきますよ。 :) – Immortalez

関連する問題