我希望我的JTextPane每次按Tab时都插入空格。当前,它会插入制表符(ASCII 9)。
无论如何,有没有自定义JTextPane的选项卡策略(除了捕获“ tab-key”事件并自己插入空格外)?
您可以在JTextPane上设置javax.swing.text.Document。以下示例将使您了解我的意思:)
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JTextPane;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultStyledDocument;
public class Tester {
public static void main(String[] args) {
JTextPane textpane = new JTextPane();
textpane.setDocument(new TabDocument());
JFrame frame = new JFrame();
frame.getContentPane().add(textpane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(200, 200));
frame.setVisible(true);
}
static class TabDocument extends DefaultStyledDocument {
@Override
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
str = str.replaceAll("\t", " ");
super.insertString(offs, str, a);
}
}
}
定义一个DefaultStyleDocument来完成这项工作。然后将Document设置为您的JTextPane。
干杯
我有史上最奇怪的虫子。 我有这个益智游戏,移动益智块(这是真正的按钮与图像附加在他们)。一切都很好,直到我试图更改某个标签的文本(以指示播放器做了多少步)。 每次调用时,移动的拼图块都会被放回它们的第一个位置。我不知道为什么,但他们就是这么做的。 它由两个面板组成,每个面板使用一个GridBagLayout。主框架也使用gridBagLayout,它由两个面板组成。 我知道这很奇怪,但我不知道是什
问题内容: 我想要一个没有箭头按钮(完成)的JComboBox,启用时具有绿色背景,禁用时具有灰色背景(未完成)。我还为下拉列表使用了自定义渲染器(完成) 我检查了BasicComboBoxUI的源代码,并尝试覆盖某些方法,但没有任何反应。下拉菜单始终具有灰色/蓝色背景。 这是我最后一次尝试的SSCCE。我尝试了所有我能想到的。请给我一个提示,我迷路了。 问题答案: 由于我想让这个颜色应用程序更广
我想在内部设置一个的。 我试着用 但这不起作用。我怎么能这么做?
问题内容: 我有一个给定的,我想将其显示(插入)到的中,但这不可能像这样明确地实现: 错误是: 我尝试了一些解决方案,例如将框架插入,但徒劳无功。我有将其转换为的想法,但是对此我一无所知。 那是插入的任何解决方案吗? 更新 : 我尝试过这种解决方案: 但是我丢失了我添加的内容。 问题答案: 您不能将(或另一个顶级组件)添加到另一个组件/容器,但是可以使用框架方法来获取框架的主面板并将其添加到选项卡
我有一个JTextPane,与stenledDocuent。我以编程方式插入了文本:“你好世界”。“你好”是红色的,“世界”是绿色的。有什么方法可以选择这两个单词,选择矩形变成一半红色一半绿色(或者所选字符的任何颜色)?通过选择,我的意思是,在运行时选择文本,而不是以编程方式... 我相信在这里改变选定文本的颜色在jTextPane,StanislavL告诉如何可以实现这一点,我不知道如何实现它。
问题内容: 我想做这个: 目前,这导致显示的标签 我希望它这样做: 有什么建议? 谢谢 编辑:实施的解决方案 在方法主体中: 辅助方法: 问题答案: 您可以在中使用。要使用它,您的文本必须以开头。 将文字设置为,它应该可以正常工作。 有关更多信息,请参见Swing教程:JLabel和多行标签(HTML)。