Tag: 突出显示

突出显示JTextPane中的当前行

我正在尝试超过2天来实现文本编辑器窗口的特定要求…不幸的是到目前为止没有成功:( 目标是获得一个文本编辑器窗口,该窗口将突出显示当前行,就像其他文本编辑器一样。 对于当前行,我指的是当前光标/插入符所在的行。 我已经找到了两种不同的方法,但不幸的是我无法采用它们,所以它们按预期工作。 第一种方法是覆盖DefaultHighlighter ( http://snippets.dzone.com/posts/show/6688 )。 在第二种方法中, HighlighterPainter将被覆盖( http://www.jroller.com/santhosh/date/20050622 )。 现在我正在尝试在我的项目中采用第一种方法,但正如我所说它不能按预期工作。 在这篇文章的最后,我发布了一个小样本应用程序来演示这个问题。 如果我启动程序,则插入符号位于第一行的开头。 但是,该行未突出显示。 现在我输入一些字符。 这些字符将突出显示,但只有那些字符不完整 我点击Enter进入下一行。 第一行不再突出显示正确的内容。 第二行也没有突出显示,这是不正确的。 再次,当我输入一些字符时,那些将被突出但不是完整的行。 当我现在将插入符号移回第一行时,通过向上键或鼠标单击,将突出显示完整的第一行,而不仅仅是现有的字符。 这是我从一开始就想要的行为。 我希望有人能告诉我这里我做错了什么……或者解释为什么根本无法解决这个问题。 如何实现线条突出显示的任何替代解决方案也非常感谢! 非常感谢Cheers Preachie import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; import javax.swing.JFrame; import javax.swing.JTextPane; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; public class HighlightProblem […]

突出显示链接

我正在创建一个帮助系统,它使用链接(一个JButton扩展)来扩展和折叠子面板,其中包含JLabel。 链接和可折叠面板工作,但我在实现我的查找对话框时遇到了麻烦。 我希望能够突出显示用户搜索的部分文本。 我认为我使用文本属性来强调链接中的文本是在弄乱我突出文本部分的能力,但我不确定如何以不同的方式做到这一点。 这是我的Link类的代码,我的链接子类: public abstract class Link extends JButton { private static final int SPACE = 5; private static final Color TEXT_COLOR = Color.BLUE; public Link(String text) { super(text); setBorder(BorderFactory.createEmptyBorder(SPACE, SPACE, SPACE, 2 * SPACE)); setContentAreaFilled(false); setFocusable(false); setForeground(TEXT_COLOR); Map underlineAttribute = new HashMap(); underlineAttribute.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); setFont(getFont().deriveFont(underlineAttribute)); } } 如何在不删除下划线的情况下在链接中实现突出显示文本? 我是否需要将它们更改为inheritance其他内容? 提前致谢!

从特定单词中删除突出显示 – Java

我想构建一个示例以从与我的应用的filter匹配的单词中删除高亮显示。 因此,我基于以下示例: public void removeHighlights(JTextComponent jTextArea) { Highlighter hilite = jTextArea.getHighlighter(); Highlighter.Highlight[] hilites = hilite.getHighlights(); for (int i = 0; i < hilites.length; i++) { if (hilites[i].getPainter() instanceof TextHighLighter) { hilite.removeHighlight(hilites[i]); } } } 此示例适用于删除文本区域的所有高亮显示。 例如,如果我有三个选中的单词而我取消选中一个框,则所有filter都将被删除,我只想删除未选中单词的高亮显示。是否有一种简单的方法来检查哪个单词与filter匹配? 或者我需要手动完成吗? 直到现在我才发现我的研究没什么成功的 提前致谢 最终编辑: 基于@camickr回答的逻辑为我工作: public void removeHighlights(JTextComponent jTextArea, String turnLightOff) { Highlighter hilite = jTextArea.getHighlighter(); Highlighter.Highlight[] hilites = […]

突出显示JTable的列标题

我正在构建一个小JTable,并且想要突出显示列标题(和行标题 – 行标题部分实际上正在工作),当选择单元格时,可以更容易地找到与此单元格相关联的名称。 这是一张图片: 我已经尝试使用以下方法切换标题的渲染器: table.getTableHeader().setDefaultRenderer(new ColumnHeaderRenderer()); 但是只有当我点击标题并且总是说isSelected为false时才会调用它。 这是我用于行名的代码,包括渲染器内的高亮 – 代码不是由我,我只是修改了一点: /* * Use a JTable as a renderer for row numbers of a given main table. * This table must be added to the row header of the scrollpane that * contains the main table. */ public class RowNameTable extends JTable implements ChangeListener, PropertyChangeListener […]

突出显示JTextArea中的一个特定行/行

我试图突出显示JTextArea一个特定行,但我不知道如何去做。 我需要获取特定的行然后突出显示它。 我已经阅读了其他post,但我仍然不明白如何将它们整合在一起来解决我的问题…帮助将非常感激。

“突出显示”JTable中的特定行

每当一个单元格的内容与用户的输入匹配时,我想突出显示JTable中的特定行。 以下代码是我迄今为止所做的工作: JTable table = new JTable(model) { public Component prepareRenderer( TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer(renderer, row, column); if (!isRowSelected(row) ) { c.setBackground((hashMapcontainer .containsKey(row)) ? Color.GREEN : getBackground()); } return c; } @Override public boolean isCellEditable(int row, int column) { return false; } }; 注意: hashMapcontainer是一个在源文件中全局范围的hashmap 。 现在这在某种程度上起作用,我将这个JTable添加到JFrame的JTabbedPane 。 […]

监控突出显示的文本

这更像是一个假设的问题,我正在为我正在计划的项目集思广益,如果有人知道任何API或方法可以立即在任何窗口上获取任何突出显示的文本,例如从浏览器或文字处理器。 它也可能有一个只能在按下时读取的键命令(类似于CTRL + C将所选文本添加到剪贴板) 任何有关API的知识都将非常感激。

JTextPane突出显示问题

我一直试图在小文本编辑器中实现突出显示function的最后几天。 出于某种原因,我得到一个奇怪的结果: 给出的例子应该突出显示每个“dolor” – 第一次出现是正确找到并突出显示的,但下一次出现并没有。 这是我到目前为止编写的代码: import java.awt.Color; import java.awt.Dimension; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultHighlighter; import javax.swing.text.DefaultHighlighter.DefaultHighlightPainter; import javax.swing.text.DefaultStyledDocument; /** * Highlighting created on 04.11.2013 * * Specification: */ public class Highlighting extends JFrame implements MouseListener { private JScrollPane scrollPane; private JTextPane textPane; private DefaultHighlighter highlighter; […]