Estou precisando fazer os comandos de copiar, colar, recortar, selecionar tudo, desfazer e refazer…
Eu sei q tem teclas de atalho para isso…mas eu qero fazer um menu com essas opções…
desde jah agradeço!
Toolkit.getDefaultToolkit().getSystemClipboard();
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/datatransfer/Clipboard.html
E para o selecionar tudo voce pode ver o objeto que tem o foco e chamar o método selectAll se ele for um JTextComponent.
aew…o selecionar tudo deu certo…
mas eu nao entendi o toolkit ae…
ele serve pra q?
?
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
public class ClipboardTest {
public static void main(String[] args) {
Clipboard board = Toolkit.getDefaultToolkit().getSystemClipboard();
ClipboardOwner selection = new StringSelection("xxxxx");
board.setContents((Transferable) selection, selection);
}
}
Ctrl+V depois de rodar isso para ver o que tem no seu clipboard.
Sei que voce usa o método getContents do Clipboard para pegar o que esta no Ctrl+C mas não achei como o.0
como eu faço pra deletar o texto q está selecionado?
Acho que voce precisa dar um replca na string do componente e coloca-la alterada devolta no componente.
mas se eu der um replace nao vai dar certo…pq se no texto tiver mais q 1 palavra “cor”(por exemplo) e eu der um replace ele vai mudar todas as paravras “cor”…e eu qero q ele apague soh a selecionada…rsrs
sera q tem outro jeito?
String text = field.getText();
StringBuilder builder = new StringBuilder(text);
builder.replace(field.getSelectionStart(), field.getSelectionEnd(), "");
field.setText(text);
aewww
deu certooo
soh q eu tive q fazer uma mudança…
String texto = textarea.getText();
StringBuilder build = new StringBuilder(texto);
texto = ""+build.replace(ta.getSelectionStart(), ta.getSelectionEnd(), "");
ta.setText(texto);
assim deu certo!! hehe
Vlw pela ajuda!
Só faltou isso.
String text = field.getText();
StringBuilder builder = new StringBuilder(text);
builder.replace(field.getSelectionStart(), field.getSelectionEnd(), "");
field.setText(builder.toString());
aew agora sim hehe…
vlw!!!
E como eu faço os comandos desfazer e refazer?
Ja vi em um topico antigo… se não me engano é algo sobre o UndoManager. Se eu achar algo eu te falo.
ok…vou dar uma pesquisada!
Qualqer coisa eu posto aki
eu tinha visto esse jah…mas nao consiguii…:S
sera q tem um exemplo com menus?
consegui achar os codigos…eh bem simples:
colar: textarea.copy();
copiar: textarea.copy();
recortar: textarea.cut();
ja o refazer e desfazer esta nesse link:
abraços!
Nunca reparei nesses métodos.
Ainda bem que solucionou.
Ué onde eu errei?
Comando Copiar:
if (tf_funcionario.isFocusable()){
tf_funcionario.copy();
}else{
if (tf_registroGeral.isFocusable()){
tf_registroGeral.copy();
}else{
if(tf_orgaoEmissor.isFocusable()){
tf_orgaoEmissor.copy();
}else{
if(tf_nomeExibicao.isFocusable()){
tf_nomeExibicao.copy();
}
}
}
}
Comando Recortar:
if (tf_funcionario.isFocusable()){
tf_funcionario.cut();
}else{
if (tf_registroGeral.isFocusable()){
tf_registroGeral.cut();
}else{
if(tf_orgaoEmissor.isFocusable()){
tf_orgaoEmissor.cut();
}else{
if(tf_nomeExibicao.isFocusable()){
tf_nomeExibicao.cut();
}
}
}
}
Comando Colar:
if (tf_funcionario.isFocusable()){
tf_funcionario.paste();
}else{
if (tf_registroGeral.isFocusable()){
tf_registroGeral.paste();
}else{
if(tf_orgaoEmissor.isFocusable()){
tf_orgaoEmissor.paste();
}else{
if(tf_nomeExibicao.isFocusable()){
tf_nomeExibicao.paste();
}
}
}
}
cara, basta usar os metodos pre-criados do java como por exemplo, para fazer a copia, vc pode usar o Jtextarea.Copy(); , recortar o Jtextarea.cut(); colar o Jtextarea.paste();