Pergunta

Estou fazendo um editor de texto bastante simples e tenho uma pergunta sobre meus botões de estilo. Quando destaque o texto e clico no meu botão "Bold", o texto ousado como esperado, mas minha seleção não é mais visível. Ainda posso desconcertar a seleção, em itálico ou sublinhá -la, mas você simplesmente não consegue ver o que é selecionado. Então, estou me perguntando se há uma configuração que me permitirá clicar no botão, mas mantenha minha seleção? Eu tentei um jmenuitem em vez de um jbutão, e isso parecia funcionar, mas depois fazia minha barra de ferramentas parecer bastante ruim. Código de exemplo abaixo.

//frame and pane creation up here
JToolBar tool = new JToolBar();
JToggleButton boldButton = new JToggleButton("Bold");
boldButton.addActionListener(new StyledEditorKit.BoldAction());
tool.add(boldButton);

Qualquer ajuda é apreciada.

Foi útil?

Solução

Então, estou me perguntando se há uma configuração que me permitirá clicar no botão, mas mantenha minha seleção?

boldButton.setFocusable( false );

Outras dicas

Como você notou, a seleção ainda está lá, mas clicar no botão da barra de ferramentas remove o foco do painel de texto e esconde a seleção. Você precisa definir o foco de volta usando requestFocus. No entanto, você precisará escrever seu próprio ouvinte de ação para adicionar o código de foco - você pode estender BoldAction para fazer isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top