2017-05-23 1 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); 

    } 
}); 

내가 맥 OS X에 이클립스 (neon.3)를 사용하고 있습니다 (10.12.4 시에라) :
다음은 복사가 발생해야 내 코드의 일부입니다. 의견에 질문을 기반으로


편집 : 없음 예외가 발생하지

  • 는 (도는 오류/경고하고 있습니다), 클립 보드는 수정되지 않은 코드의 실행 후
  • 남아
+0

예외가 발생 했습니까? 'setContents'를 호출 할 때'IllegalException'이 될 수도 있습니까? – Mena

+0

문제를 일으키는 부분을 유지하기 위해 게시물을 편집했습니다. 도청 된 코드를 가능한 한 최소 크기로 유지하십시오. (질문이 많았지 만 "테스트를 거쳐 문제를 일으킬 수없는"부분을 게시 할 필요가 없습니다). – Nathan

+0

또한 최종 결과는 무엇입니까? 클립 보드가 비어 있거나 잘못된 사본으로 설정되었거나 수정되지 않았습니까? – Nathan

답변

0

문제가 해결되었습니다 :
문제는 해결책이 아니라 내 코드에 있습니다.
버튼의 청취자가 작동하지 않아 코드가 실행되지 않은 것처럼 보입니다.

초보자가 청취자가 작동하는지 여부와 같은 가장 분명한 것조차 확인하는 것은 나에게 좋은 교훈입니다. 도움을 주신 모든 분들께 감사드립니다.

+0

일하게되어 기쁩니다. 하지만 코드에는 여전히 문제가 있습니다. 클립 보드 호출은 클립 보드 여야합니다.setContents (선택, 선택); StringSelection은 Transferable 및 ClipboardOwner이므로 클립 보드 내용의 변경 내용에 올바르게 응답 할 수 있습니다. – MiguelMunoz

+0

조언 해 주셔서 감사합니다. 나는 다른 초보자를 오도하지 않기 위해 질문 게시글을 편집했습니다. 나는 그것을 염두에 두겠다. :) – Immortalez

관련 문제