Boa tarde a todos.
Estou trabalhando em um editor de texto ( JEditoPane ) e coloquei um menu popup ( o que esta na imagem em anexo )
mas não consigo implementar suas funcionalidades, se alguem puder me dar alguma dica.
Grato.
Boa tarde a todos.
Estou trabalhando em um editor de texto ( JEditoPane ) e coloquei um menu popup ( o que esta na imagem em anexo )
mas não consigo implementar suas funcionalidades, se alguem puder me dar alguma dica.
Grato.
Para ler/gravar texto da Área de Transferência:
http://www.exampledepot.com/egs/java.awt.datatransfer/ToClip.html
Para manipular o texto via programação, faça o seguinte:
Para selecionar tudo, use JTextPane.selectAll().
roger_rf vou ver o que consigo com o link que me passou.
Bem é praticamente impossivel mudar de JEditorPane para JTextPane.
Este editor ja tem quase 2 meses de trabalho investido, e N funções que eu não sei se rodariam no JTextPane.
Mais obrigado mesmo assim pela ajuda.
Deve ser quase impossível e também desnecessário mudar para o JTextPane.
O JEditorPane é mais poderoso. E tem todos os métodos que o roger citou acima.
Hum, depois do comentário do ViniGodoy vejo que JEditorPane oferece o método getDocument(), dá para chamar insertString() e remove() em cima do objeto retornado. E como JEditorPane também tem selectAll(), acho que o problema do Scorsatto está bem encaminhado, realmente não há necessidade de usar JTextPane. Vivendo e aprendendo
O editorKit ja possui Actions para edição de texto, veja.
[code]public JPopupMenu getPopupMenu() {
if(popupMenu == null)
{
popupMenu = new JPopupMenu();
popupMenu.add(getActions().get(StyledEditorKit.cutAction));
popupMenu.add(getActions().get(StyledEditorKit.copyAction));
popupMenu.add(getActions().get(StyledEditorKit.pasteAction));
popupMenu.add(getActions().get(StyledEditorKit.selectAllAction));
}
return popupMenu;
}
public HashMap<Object, Action> getActions() {
if(actions == null)
{
actions = new HashMap<Object, Action>();
Action[] actionArray = getEditorKit().getActions();
for(Action a:actionArray)
actions.put(a.getValue(Action.NAME), a);
}
return actions;
}[/code]
É só um exemplo… e pode funcionar tanto no JEditorPane quanto no JTextPane.
Caso queira mudar o nome do action é só fazer um novo action com o nome desejado.
Obrigado a TODOS!
segui o exemplo do roger_rf e com mais alguma ajuda dele via PM^^
esta tudo certo agora.
Grato.