Sem mais delongas, vamos direto ao código Amigos, por favor leiam os comentários com atenção.
Copie o código do código da seguinte forma:
/*Operações simples de copiar, recortar e colar:
Teste de cópia: Insira o texto, selecione o texto, clique em Copiar, coloque o cursor na TextArea à direita, clique em Colar Teste de corte: Insira o texto, selecione o texto e coloque o cursor na TextArea à direita, clique em Recortar.
*/
importar javax.swing.*;
importar java.awt.*;
importar java.awt.datatransfer.*;
importar java.awt.event.*;
Classe pública Demo implementa ActionListener
{
JFrame privado jf;
private JPanel p1, p2, p3; //topo, meio e fundo
título JLabel privado;
edição JTextArea privada,showMsg;
JButton privado copiar, colar, recortar;
Clipboard clipboard; //Obtém a área de transferência do sistema.
demonstração pública()
{
this.init();
}
//inicialização da interface
inicialização pública nula()
{
jf = new JFrame("Copiar e Colar");
p1 = new JPanel(); //Título do armazenamento
p2 = new JPanel(); //Armazenamento JTextArea showMsg
p3 = new JPanel(); //Botão de armazenamento
title = new JLabel("Demonstração de copiar, colar e recortar");
edit = new JTextArea("Por favor insira o conteúdo",15,25);
edit.setLineWrap(true);
showMsg = new JTextArea(15,25);
showMsg.setLineWrap(true);
showMsg.setEnabled(falso);
copiar = new JButton("Copiar");
colar = new JButton("Colar");
cortar = new JButton("cortar");
área de transferência = jf.getToolkit().getSystemClipboard();
p1.setLayout(novo FlowLayout());
p1.setSize(599,30);
p1.add(título);
p2.setLayout(novo FlowLayout());
p2.setBackground(Color.cinza);
p2.add(editar);
p2.add(showMsg);
p3.setLayout(novo FlowLayout());
p3.add(copiar);
p3.add(colar);
p3.add(cortar);
//Adiciona mecanismo de escuta de eventos
copiar.addActionListener(this);
cole.addActionListener (este);
cut.addActionListener (este);
// this.copyStr(cópia);
jf.add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.CENTER);
jf.add(p3, BorderLayout.SOUTH);
jf.setLocation(400.200);
jf.setSize(600.450);
jf.setResizable(falso);
jf.setVisible(verdadeiro);
}
//manipulação de eventos
ação pública nulaPerformed(ActionEvent e)
{
if(e.getSource() == copiar)
{
String tempText = edit.getSelectedText(); //Arraste o mouse para selecionar o texto
//Cria um Transferível que possa transferir a String especificada.
StringSelection editText=
new StringSelection(tempText);
/**
Define o conteúdo atual da área de transferência para o objeto transferível especificado,
E registra o proprietário da área de transferência especificado como proprietário do novo conteúdo.
*/
prancheta.setContents(editText,null);
}else if(e.getSource() == cortar)
{
String tempText = edit.getSelectedText();
StringSelection editText=
new StringSelection(tempText);
prancheta.setContents(editText,null);
int start= edit.getSelectionStart();
int end = edit.getSelectionEnd();
showMsg.replaceRange("",start,end); //Exclui o texto selecionado de Text1.
}else if(e.getSource() == colar)
{
Conteúdo transferível = clipboard.getContents(this);
Sabor DataFlavor= DataFlavor.stringFlavor;
if(conteúdo.isDataFlavorSupported(sabor))
{
tentar
{
Cadeia de caracteres;
str = (String)contents.getTransferData(sabor);
showMsg.append(str);
}catch(Exceção ex)
{
ex.printStackTrace();
}
}
}
}
público estático void principal(String[] args)
{
nova demonstração();
}
}
O código é muito simples e fácil de usar. Se vocês tiverem ideias melhores, não deixem de me contar.