Pregunta

Estoy haciendo un editor de texto bastante simple, y tengo una pregunta acerca de mis botones de estilo. Cuando resaltar el texto y haga clic en el botón de mi "negrita", las negritas de texto como se esperaba, pero mi selección ya no es visible. Todavía puedo sin negrita la selección, Cursiva, o subrayado, pero que simplemente no puede ver lo que está seleccionado. Por lo tanto, me pregunto si hay un ajuste que me permitirá hacer clic en el botón, pero guardo en mi selección? He intentado un JMenuItem en lugar de un JButton, y que parecía funcionar, pero luego hice mi mirada barra de herramientas bastante malo. Código de ejemplo a continuación.

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

Cualquier ayuda es apreciada.

¿Fue útil?

Solución

  

Por lo tanto, me pregunto si hay un ajuste que me permitirá hacer clic en el botón, pero mantener mi selección?

boldButton.setFocusable( false );

Otros consejos

Como habrá notado, la selección está todavía allí, pero al hacer clic en el botón de la barra de herramientas elimina el enfoque desde el panel de texto y se esconde la selección. Es necesario ajustar la parte posterior de enfoque mediante requestFocus . Sin embargo, tendrá que escribir su propio oyente de action para añadir el código de enfoque -. Se podría extender BoldAction hacer esto

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top