Question

Je fais un éditeur de texte assez simple, et j'ai une question sur mes boutons de style. Quand je surligner le texte et cliquez sur mon bouton « gras », le texte Bolds comme prévu, mais ma sélection ne sont pas plus visibles. Je peux encore la sélection caractères normaux, Italique, ou le souligner, mais vous ne pouvez pas voir ce qui est sélectionné. Alors, je me demande s'il y a un paramètre qui me permettra de cliquer sur le bouton, mais gardez ma sélection? J'ai essayé un JMenuItem au lieu d'un JButton, et qui semblait au travail, mais il a fait mon regard de la barre d'outils tout à fait mauvais. Exemple de code ci-dessous.

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

Toute aide est appréciée.

Était-ce utile?

La solution

  

Alors, je me demande s'il y a un paramètre qui me permettra de cliquer sur le bouton, mais garder ma sélection?

boldButton.setFocusable( false );

Autres conseils

Comme vous l'avez remarqué, la sélection est toujours là, mais en cliquant sur le bouton de la barre d'outils supprime le focus de la fenêtre de texte et cache la sélection. Vous devez définir le dos de mise au point à l'aide requestFocus . Cependant, vous devez écrire votre propre écouteur d'action pour ajouter le code de mise au point -. Vous pouvez étendre BoldAction à faire

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top