标签: jtextpane

如何从JTextPane中选择

我想找出JTextPanel文本的哪一部分被选中.试图调用JTextPane.getSelectionStart()JTextPane.getSelectionEnd(),但它们总是返回相同于当前插入位置的相同值.我的问题是什么?

我会感谢任何获得当前选择的代码问题.

java swing jtextpane selection

2
推荐指数
1
解决办法
4072
查看次数

如何让JTextPane水平滚动

我有一个JTextPane,当行太多时,vertical会出现滚动条,但是当行太长时,不是出现水平滚动条,而是该行分成两行,如何让水平条出现而不是分成两行两行,我的jTextPane添加如下:

JScrollPane jScrollPane1 = new JScrollPane();
jScrollPane1.setViewportView(jTextPane1);
Run Code Online (Sandbox Code Playgroud)

java swing scroll jtextpane jscrollpane

2
推荐指数
1
解决办法
1081
查看次数

JTextPane 附加 HTML 字符串

我可以在没有任何 HTML 问题的情况下解析 JTextPane 的内容:

textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setText(<b>Hello!</b>);
// ...
setVisible(true);
Run Code Online (Sandbox Code Playgroud)

这导致

你好!

但是每当我尝试将字符串附加到 textPane 时,使用

styledDoc = (StyledDocument) textPane.getStyledDocument();
styledDoc.insertString(styledDoc .getLength(), <b>Goodbye!</b>, null );
Run Code Online (Sandbox Code Playgroud)

(如在这个问题中所见),我的输出是

你好! <b>Goodbye!</b>

(没有空格) - 所以 html 格式被跳过。

如何将字符串附加到我的 JTextPane 对象并保留添加部分的 HTML 格式?

html java formatting append jtextpane

2
推荐指数
1
解决办法
4013
查看次数

带有HTML的JTextPane的文本光标

我有以下问题:我想将JTextPane内容类型的光标更改text/htmlCursor.TEXT_CURSOR.但是,设置时setCursor(new Cursor(Cursor.TEXT_CURSOR))会被忽略.我也尝试在鼠标监听器中设置光标,但它也直接更改回标准光标.如果内容类型是text/plain,则光标默认为文本光标.有没有人知道如何实现这一目标?我创建了一个SCCEE来显示这种行为:

import java.awt.Cursor;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.WindowConstants;


public class TextPaneHtmlCursor extends JFrame {
    private JScrollPane jScrollPane1;
    private JTextPane jTextPane1;     

    public TextPaneHtmlCursor() {
        initComponents();
    }

    private void initComponents() {
        jScrollPane1 = new JScrollPane();
        jTextPane1 = new JTextPane();
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        jTextPane1.setContentType("text/html");
        jTextPane1.setCursor(new Cursor(Cursor.TEXT_CURSOR));
        jScrollPane1.setViewportView(jTextPane1);
        getContentPane().add(jScrollPane1);
        pack();
    }                    

    public static void main(String args[]) {
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new …
Run Code Online (Sandbox Code Playgroud)

java jtextpane cursor

2
推荐指数
1
解决办法
518
查看次数

显示base64编码的图像

我在将图像集成到 text/html JTextPane 时遇到问题。JTextPane 使用以下文本初始化:

<html>
  <head>
    <style type="text/css">
    </style>
  </head>
  <body>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我插入文本:

kit.insertHTML(doc, doc.getLength(), "<b>" + string + "</b><br>" , 0, 0, HTML.Tag.B);
Run Code Online (Sandbox Code Playgroud)

以这种方式插入的所有文本都会正确显示,但是当我尝试使用以下命令插入 base64 编码的图像时:

kit.insertHTML(doc,doc.getLength(), "<img src=\"data:image/jpeg;base64," + base64Code + "\"/>", 0, 0, HTML.Tag.IMG);
Run Code Online (Sandbox Code Playgroud)

我只得到了一个占位符图像。当尝试使用正常的源路径时,它起作用了。然而,在线获取 Base64 代码并使用它也为我提供了一个占位符图像,而完全相同的代码可以在 w3school.com 的 HTML tryit 编辑器上运行。

html java jtextpane

2
推荐指数
1
解决办法
3431
查看次数

JScrollPane 中 JTextPane 文本后面的静态图像

所以我有一个 JScrollPane,我需要滚动(仅垂直)通过居中的自动换行文本。文本后面应该是静态的、不可滚动的部分透明图像。

我的第一种方法是将图像添加到 JScrollPane 中的 JTextPane。由于强制图像从其存在的位置滚动而失败。

我的第二种方法是使 JTextPane 的背景透明并在 JLabel 上显示 JTextPane 后面的图像。由于 JTextPane 的背景无法在 JScrollPane 中透明,因此失败。- 现在我可以让它透明,但它会留下损坏、颜色错误和错位的文本以及随机出现在 JTextPane 上的滚动条。

我的第三种方法是使用 JTextArea 代替并在其后面显示图像。由于 JTextArea 无法将文本居中,这失败了。

我的第四种方法是使用 JLabel 来显示文本。由于 JLabel 无法自动换行,这失败了。尽管有些人似乎对此进行了 html 修复,但没有一个有效,因为它们都包裹在不正确的位置。

所以我不确定接下来应该尝试什么,任何帮助表示赞赏。

java swing jlabel jtextpane jscrollpane

2
推荐指数
1
解决办法
40
查看次数

如何创建要在Java Swing组件中显示的格式化文本(JTextPane,JEditorPane ...)

我在任何地方都进行了搜索和研究,找到了一个没有结果的答案.所以我再次寻求帮助.

我想在桌面java swing应用程序中显示格式化文本.该文本将在一些变量对象的基础上编程生成,并且不可编辑.

我不知道是否最好使用JTextPane或JEditorPane,或者是什么.问题是我找不到任何解释如何使用它们的手册或教程.我是否必须创建HTMLDocument才能插入文本?我该如何创建它?...

在这种情况下,是显示文本的正确方法吗?或者我可以使用表格或标签或类似的东西.

我需要你的一些建议,如果有一些地方我可以学习如何去做,请告诉我.

java swing text jtextpane jeditorpane

1
推荐指数
1
解决办法
6540
查看次数

如何在java swing JTextPane中追加一个字符串?

我正在创建一个聊天应用程序.在这个聊天应用程序中,我必须使用Java Swing JTextPane来为某些特定字符串提供样式,例如用户的显示名称和消息的时间.这就是为什么我选择JTextPaneJTextArea.在JTextPane中,我无法追加String,所以我创建了一个String缓冲区来追加String,然后我就这样做了jTextPane.setText(stringBuffer.toString()).

这是我的问题:当我将一个字符串附加到JTextPanevia a时StringBuffer,会有一个延迟.如何在一个字符串中逐行追加一个字符串JTextPane

java swing jtextpane styleddocument

1
推荐指数
1
解决办法
9648
查看次数

动态更改JTextPane中文本的字体

我想动态地更改写在JTextPane上的某些文本.我有一个String数组,其中包含应该更改的单词

String ListMethod [] = {"forward", "backward", "left", "right"};
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些帖子,许多人建议使用JTextPane或JEditorPane来编辑文本,但大部分答案都是针对静态文本的.我希望以这样的方式进行:当我在文本窗格中键入"向前"或"向后"等时,它会检测到这些单词并更改颜色.我该怎么办呢?

谢谢你的帮助.

java swing jtextpane jeditorpane

1
推荐指数
1
解决办法
681
查看次数

java如何删除JTextPane的内容作为用户类型?

我想删除我JTextPane作为用户类型的内容,我的意思是

JTextPane.addKeyListener(new java.awt.event.KeyAdapter()
{
   public void keyTyped(java.awt.event.KeyEvent evt)
   {
      searchFieldHandler(evt);
   }
});

private void searchFieldHandler(java.awt.event.KeyEvent evt)
{        
   text = searchField.getText() + String.valueOf(evt.getKeyChar());
   **searchField.setText("");**

   // doing sth with text
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用(不删除内容和最后输入的字符仍然存在)怎么做?

java swing jtextpane keylistener documentlistener

1
推荐指数
1
解决办法
597
查看次数