Ich habe diese Notebook-Klasse, an der ich gearbeitet habe. Ich habe zwei Probleme, die ich jetzt mit Blick auf bin:So verwenden Sie einen Textmarker in JTextArea
1: Fett und Kursiv bestimmten Text
Ich habe zwei Symbole in meiner Symbolleiste, dass der Text fett gedruckt oder kursiv gedruckt, wenn Sie darauf klicken zu machen. All das funktioniert jedoch einwandfrei. Es wählt immer den gesamten Text im Dokument und nicht den speziell ausgewählten Text aus. Gibt es eine Möglichkeit, die blaue Markierung eines Linksklick auf eine Maus zu verwenden, um einen bestimmten Text fett oder kursiv darzustellen? Dies ist der Code für die Fettdruck-Abstrakt-Aktion. Die Kursivschrift sieht genau gleich aus, außer Kursivschrift.
Action Bold = new AbstractAction("Bold", new ImageIcon("bold.png"))
{
public void actionPerformed(ActionEvent e)
{
if(bolded == false)
{
area.setFont(area.getFont().deriveFont(Font.BOLD));
bolded = true;
}
else
{
area.setFont(area.getFont().deriveFont(Font.PLAIN));
bolded = false;
}
}
};
2 Highlighter über Text
Ich möchte einen tatsächlichen Textmarker hinzufügen, die nur bestimmte Gruppen von Wörtern malen wird, dass der Benutzer gelb wählt. Ich habe die Oracle-Seite dazu gelesen, und ich bin mir immer noch nicht ganz sicher, ob ich sie benutzen soll. Ich sehe viele Beispiele von Menschen, die nach bestimmten Wörtern suchen und sie auf diese Weise hervorheben, aber ich möchte diese spezifischen Wörter nicht hervorheben. Ich möchte, dass der Benutzer entscheidet, welcher Text hervorgehoben werden soll.
Action Highlight = new AbstractAction("Highlight", new ImageIcon("highlighter.png"))
{
public void actionPerformed(ActionEvent e) throws BadLocationException
{
Highlighter highlighter = area.getHighlighter();
HighlightPainter painter = new DefaultHighlighter.DefaultHighlightPainter(Color.RED);
highlighter.addHighlight(0 , 6, painter);
}
};
Der obige Code ist, was ich von einigen anderen Online-Tutorials, aber zusammen ziehen verwalten, wird die BadLocationException nicht kompilieren, wenn es in der Zusammenfassung Aktion ist, so dass diese wie ein gangbarer Weg ist nicht auf der Suche .
Jede Hilfe wird geschätzt!
Mit einem 'JTextArea', wird die Schriftart zu ändern, den gesamten Text beeinflussen. Sehen Sie sich dieses Tutorial über Textkomponenten an und wählen Sie eine relevantere aus: http://docs.oracle.com/javase/tutorial/uiswing/components/text.html – Berger