- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个普通的 HTMLEditorKit() 对象:
historyKit = new HTMLEditorKit();
historyDoc = new HTMLDocument();
history = new JEditorPane("text/html", "");
JScrollPane historyScrollPane = new JScrollPane(history);
historyPanel.add(historyScrollPane, "cell 0 0 1 2,grow");
history.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null,
null, null));
我将它用作某种“日志”,因此它会根据此对象进行更新:
public class Logger {
public static ArrayList<String[]> log = new ArrayList<String[]>();
public static void update(String s) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy | HH:mm:ss");
String historyText = "<b>" + sdf.format(new Date()) + "</b>: " + s;
String[] sArray = { sdf.format(new Date()), s };
log.add(sArray);
append(historyText);
}
public static void append(String s) {
MainFrame.history.setEditorKit(MainFrame.historyKit);
MainFrame.history.setDocument(MainFrame.historyDoc);
try {
MainFrame.historyKit.insertHTML(MainFrame.historyDoc,
MainFrame.historyDoc.getLength(), s, 0, 0, null);
} catch (BadLocationException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
问题是,我相信“遍历”数据结构以根据某些 JTextField 过滤内容比“遍历”组件本身(在这种情况下,模型,我想)。是否有一种众所周知的过滤文档的方法,使用文本字段作为“搜索字段”?
最佳答案
I'm using the HTML kit so that I can highlight different parts of the text
JTextPane
可以使用不同的字体、颜色等。
这是一个简单的例子,可以帮助您入门:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
public class TextPaneAttributes extends JPanel
{
public TextPaneAttributes()
{
setLayout( new BorderLayout() );
JTextPane textPane = new JTextPane();
textPane.setText( "one\ntwo\nthree\nfour\nfive\nsix\nseven\neight" );
StyledDocument doc = textPane.getStyledDocument();
// Define some character and paragraph attribute sets
SimpleAttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setBold(keyWord, true);
SimpleAttributeSet green = new SimpleAttributeSet();
StyleConstants.setForeground(green, Color.GREEN);
SimpleAttributeSet center = new SimpleAttributeSet();
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
SimpleAttributeSet left = new SimpleAttributeSet();
StyleConstants.setAlignment(left, StyleConstants.ALIGN_LEFT);
// Change attributes on some existing text
doc.setCharacterAttributes(0, 3, keyWord, false);
doc.setCharacterAttributes(8, 5, green, true);
doc.setParagraphAttributes(20, 1 , center, false);
// Add some text with attributes
try
{
doc.insertString(doc.getLength(), "\nNormal text", null);
doc.insertString(doc.getLength(), "\nGreen text centered", green);
doc.setParagraphAttributes(doc.getLength(), 1 , center, false);
doc.insertString(doc.getLength(), "\nKeyword text", keyWord);
doc.setParagraphAttributes(doc.getLength(), 1 , left, false);
// Newly typed text at the end of the document will inherit the
// "keyword" attributes unless we remove the attributes
textPane.setCaretPosition(doc.getLength());
textPane.getInputAttributes().removeAttributes(keyWord);
}
catch(Exception e) {}
// Add text pane to frame
JScrollPane scrollPane = new JScrollPane( textPane );
scrollPane.setPreferredSize( new Dimension( 200, 250 ) );
add( scrollPane );
// Create a Button panel
JPanel buttons = new JPanel();
add(buttons, BorderLayout.PAGE_END);
// Add a Bold button
JButton bold = new JButton( new StyledEditorKit.BoldAction() );
buttons.add( bold );
// Add Right Alignment button
JButton right = new JButton( new StyledEditorKit.AlignmentAction("Align Right", StyleConstants.ALIGN_RIGHT) );
buttons.add( right );
}
private static void createAndShowGUI()
{
JFrame frame = new JFrame("SSCCE");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TextPaneAttributes());
frame.pack();
frame.setLocationByPlatform( true );
frame.setVisible( true );
}
public static void main(String[] args)
{
EventQueue.invokeLater( () -> createAndShowGUI() );
/*
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
*/
}
}
阅读 Text Component Features 上的 Swing 教程部分获取更多信息和示例。
关于java - 有没有办法过滤/搜索 HTMLEditorKit 中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43059544/
我正在尝试在 JTextPane 中进行一些基本的格式化。为此,我决定使用 html(HTMLDocument 和 HTMLEditorKit)。 这里是按钮的操作监听器代码,应使所选文本变为粗体 b
HTMLEditorKit.insertHTML(doc, doc.getLength(), "Test", 0, 0, null); 结果: "Test " -添加'\n' HTMLEditorKi
这是我的代码。 editPane 是一个 JEditorPane。HTMLKit 是分配给 editPane 的 HTMLEditorKit。 try { HTMLKit.insertHTML(
我想用 JEditorPane 创建一个简单的测试应用程序显示一些 HTML 内容和一个使所选文本加粗的按钮。 HTMLEditorKit已经为这个按钮提供了必要的操作,所以我可以像这样用复杂的代码来
当我运行以下代码时: import java.io.IOException; import java.io.Reader; import java.io.StringReader; import ja
我是一个新手 Java 程序员,正在尝试使用 HTMLEditorKit 库遍历 HTML 文档并将其更改为我的链接(主要是为了好玩,我正在做的事情可以在手上完成而不会出现问题) 但我的问题是:在我修
我的一个应用程序(一个基本的 IRC 工具)遇到以下问题,该工具使用“HTMLEditorKit”作为输出 GUI 将消息添加到“JTextPane”。我注意到,随着时间的推移,我的应用程序随机地使用
下面的代码片段存在问题,如果在包含小程序窗口的浏览器中按下重新加载按钮,它将无法工作。它在小程序第一次启动时起作用,但在重新加载时不起作用。同样的事情也发生在 AppletViewer 中。 原因是
我相信 JEditorPane .我需要简单的编辑器。我已经解决了加载和修改包含自定义(两个)标签的 HTML 的问题(参见 my older post )。它可以正确显示文档,我现在甚至可以编辑它。
我使用说明添加我自己的标签 http://java-sl.com/custom_tag_html_kit.html class MyParserDelegator extends ParserDele
我有一个普通的 HTMLEditorKit() 对象: historyKit = new HTMLEditorKit(); historyDoc = new HTMLD
我遇到以下问题,即我将 JTextPane 与 HTMLEditorKit 结合使用,并向 Pane 动态添加内容。内容可以超过几行,还包含大量图像(小图标)。现在的问题是,如果我插入例如一堆带有图标
我的源代码在下面。 我只想控制字体颜色的 css。 我像这样插入 HTML。 I love apple pie. 在 tag1 的情况下,我希望“我爱苹果”变成红色字体。 但只有“我爱”变成红色字体。
HTMLEditorKit 是否正确在呈现 HTML 内容时忽略如下所示的标签(用于在 IE7+ 浏览器中模拟 IE7)? 有关 HTMLEditorKit 的文档提到它: ..supports H
我的问题如下: 我想让我的小 HTML 编辑器的用户在两者之间切换输入文本的不同背景颜色。我第一次尝试为此目的使用 CSS 样式。不同的风格定义不同的背景颜色和通过一个JComboBox用户可以在这些
我正在尝试实现一个基本的文本编辑器,其中包含字体、粗体、斜体、下划线和颜色选项。我使用了 JEditorPane 和关联的 HTMLEditorKit,但是当我加载一个 400K 的文档时,它需要整整
我正在使用 JTextPane 编辑 HTML,当我使用 getText() 和 setText() 方法时,它会更改我的文本。 例如,如果我使用 setter 方法设置此文本。 ESTO E
我想借助 java 的 HTMLEditorKit 检索 TITLE 属性?这是我写的,但它会一直返回“null”,而 Eclipse 中的检查器并没有多大帮助! import java.io.Fil
完整源代码可以在 here 找到. 如何在源中重现: 运行程序 点击粗体按钮 输入一些内容 转到粗体文本内的某个位置 点击斜体按钮 输入更多内容 请注意斜体文本不是粗体。 MCVE: 给你。大部分是由
我正在使用 JTextPane 实现一个简单的 HTML 编辑器, HTMLDocument和HTMLEditorKit 。代码如下: public class SimpleHTMLEditor ex
我是一名优秀的程序员,十分优秀!