Halten Auswahl nach einem JButton auf Stil Text klicken
Frage
Ich mache einen ziemlich einfachen Text-Editor, und ich habe eine Frage zu meinem Schaltflächen. Wenn ich Text markieren und klicken Sie auf meine „bold“ Knopf, wie der Text bolds erwartet, aber meine Auswahl ist nicht mehr sichtbar ist. Ich kann immer noch nicht fett die Auswahl, Kursiv es, oder unterstreichen, aber man kann einfach nicht sehen, was ausgewählt wird. Also, ich frage mich, ob es eine Einstellung, die mir erlauben, den Knopf zu klicken, aber meine Auswahl halten? Ich versuchte, einen JMenuItem anstelle eines JButton, und das schien zu funktionieren, aber dann machte es meine Symbolleiste Aussehen sehr schlecht. Beispielcode unten.
//frame and pane creation up here
JToolBar tool = new JToolBar();
JToggleButton boldButton = new JToggleButton("Bold");
boldButton.addActionListener(new StyledEditorKit.BoldAction());
tool.add(boldButton);
Jede Hilfe sehr geschätzt wird.
Lösung
Also, ich frage mich, ob es eine Einstellung, die mir erlauben, den Knopf zu klicken, aber meine Auswahl halten?
boldButton.setFocusable( false );
Andere Tipps
Wie Sie die Auswahl bemerkt haben, gibt es immer noch, aber auf der Symbolleiste auf die Schaltfläche klicken, entfernt den Fokus aus dem Textbereich und Häuten der Auswahl. Sie müssen den Fokus wieder mit requestFocus
. Allerdings müssen Sie Ihre eigene Aktion Hörer schreiben den Fokus Code hinzufügen -. Sie BoldAction
dies zu tun verlängern könnte