所以我正在创建一个程序,根据用户选择的内容更改JTextField。所以它非常像带有字体(来自JComboBox)的Word文档,大小和属性(Bold ......等)。显然我的很小,只能用一行(A JTextField)。我得到的问题是,在我将一些内容写入具有特定属性的字段后,我想用不同的属性添加更多单词,它会更改整个文本字段而不仅仅是我添加的新部分。我知道它的问题是
Writer.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
if((e.getKeyChar() >= e.VK_A && e.getKeyChar()<= e.VK_Z) || (e.getKeyChar() >= 'a' && e.getKeyChar()<='z')|| e.getKeyChar() == '\b' ) // Checks to make sure No Numbers
{
Writer.setEditable(true);
}
else
{
Writer.setEditable(false);
}
if(font.equals("Arial"))
{
if(size.equals("8"))
{
setSize = 8;
}
else if(size.equals("10"))
{
setSize = 10;
}
else if(size.equals("12"))
{
setSize = 12;
}
if(color.equals("Black"))
{
setColor = Color.BLACK;
}
else if(color.equals("Blue"))
{
setColor = Color.BLUE;
}
else if(color.equals("Red"))
{
setColor = Color.red;
}
Font font = new Font("Arial", setAttribute, setSize);
Writer.setFont(font); // I Know that this sets the font everytime, so i'm pretty sure this is where my problem is.
Writer.setForeground(setColor);
}
关于我如何进行更改以使其新输入的字符的任何想法都可以使用与前一个字符不同的字体。
答案 0 :(得分:2)
styled text的JComponents - 如何Use Editor Panes and Text Panes,示例here,here,此论坛上的一些示例
答案 1 :(得分:1)
JTextFields允许使用HTML。解析和插入新的html代码可能需要一些工作,但您可以这样做。
答案 2 :(得分:1)
有一个WYSIWYG text editors for Java here列表。我特别喜欢metaphase editor,基于Charles Bell的HTMLDocumentEditor
。