JButton をクリックしてテキストのスタイルを設定した後も選択を維持する

StackOverflow https://stackoverflow.com/questions/4235804

質問

かなり単純なテキスト エディタを作成しているのですが、スタイル ボタンについて質問があります。テキストを強調表示して「太字」ボタンをクリックすると、テキストは期待どおりに太字になりますが、選択した部分は表示されなくなります。選択範囲の太字を解除したり、斜体にしたり、下線を引いたりすることはできますが、何が選択されているかを見ることはできません。そこで、ボタンをクリックしても選択を維持できる設定があるかどうか疑問に思っています。JButton の代わりに JMenuItem を試してみたところ、うまくいったように見えましたが、ツールバーの見栄えがかなり悪くなってしまいました。以下のサンプルコード。

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

助けていただければ幸いです。

役に立ちましたか?

解決

  

だから、私はボタンをクリックすることができますが、私の選択を維持する設定がある場合、私は思ったんだけど?

boldButton.setFocusable( false );

他のヒント

お気づきのとおり、選択範囲はまだそこにありますが、ツールバー ボタンをクリックするとテキスト ペインからフォーカスが削除され、選択範囲が非表示になります。次を使用してフォーカスを戻す必要があります requestFocus. 。ただし、フォーカス コードを追加するには独自のアクション リスナーを作成する必要があります。拡張することもできます。 BoldAction これをする。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top