【发布时间】:2011-08-04 21:23:18
【问题描述】:
所以我正在创建一个根据用户选择更改 JTextField 的程序。所以它很像一个带有字体(来自 JComboBox)、大小和属性(粗体...等)的 Word 文档。显然我的很小,只适用于单行(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);
}
关于如何进行更改的任何想法,以便新输入的字符可以具有与以前的字符不同的字体。
【问题讨论】:
标签: java swing fonts jtextfield