作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个我一直在做的笔记本类(class)。我现在面临两个问题:
我的工具栏中有两个图标,当您单击它们时,它们会使文本变为粗体或斜体。所有这些都工作正常,但是,它始终选择文档中的所有文本,而不是专门选择的文本。有没有办法使用鼠标左键单击的蓝色突出显示来将特定文本加粗或斜体?这是粗体抽象操作的代码。斜体看起来完全一样,除了斜体。
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;
}
}
};
我想添加一个实际的荧光笔,它只会将用户选择的某些单词组绘制为黄色。我已经阅读了有关此内容的 Oracle 页面,但我仍然不太确定是否要使用它。我看到很多人们搜索特定单词并以这种方式突出显示它的例子,但我不想突出显示这些特定单词。我希望用户决定突出显示哪些文本。
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);
}
};
上面的代码是我从其他在线教程中整理出来的代码,但是,BadLocationException 在抽象操作内部时无法正确编译,因此这看起来不是一个可行的选择。
感谢任何帮助!
最佳答案
actionPerformed
不会抛出任何已检查的异常。只需删除异常并在方法内捕获它即可。
public void actionPerformed(ActionEvent e)
{
try {
Highlighter highlighter = area.getHighlighter();
HighlightPainter painter = new DefaultHighlighter.DefaultHighlightPainter(Color.RED);
highlighter.addHighlight(0 , 6, painter);
catch(throws BadLocationException ex) {
ex.printStackTrace();
}
}
}
关于java - 如何在 JTextArea 中使用荧光笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37326621/
我是一名优秀的程序员,十分优秀!