我有一个带有JTextPane的程序。当我想在其中打印时,我的问题出现了。每次,它将在第一行打印并将其余部分向下移动一行。 如何在文本末尾打印?
我明白了:
//...
public static enum Level {
CLASSIC,
MAJ,
AJOUT,
SUPRESSION,
CONFIG;
}
public static void add(Level level,String Message){
switch(level){
case CLASSIC:
try{
Color BLACK = new Color(0, 0, 0);
StyleConstants.setForeground(Colors, BLACK);
Text.insertString(0, "\n\t- Mise à jour # " + Message + " -\n\n", Colors);
}catch(Exception e) { ConsoleError(); }
break;
case MAJ:
try{
Color ORANGE = new Color(252, 156, 51);
StyleConstants.setForeground(Colors, ORANGE);
Text.insertString(0, Message + "\n", Colors);
}catch(Exception e) { ConsoleError(); }
break;
case AJOUT:
Color GREEN = new Color(58, 157, 52);
StyleConstants.setForeground(Colors, GREEN);
try{
Text.insertString(0, Message + "\n", Colors);
}catch(Exception e) { ConsoleError(); }
break;
case SUPRESSION:
Color RED = new Color(183, 19, 0);
StyleConstants.setForeground(Colors, RED);
try{
Text.insertString(0, Message + "\n", Colors);
}catch(Exception e) { ConsoleError(); }
break;
case CONFIG:
Color BLACK = new Color(0, 0, 0);
StyleConstants.setForeground(Colors, BLACK);
try{
Text.insertString(0, Message + "\n", Colors);
}catch(Exception e) { ConsoleError(); }
break;
}
}
//...
答案 0 :(得分:2)
而不是做
Text.insertString(0, Message + "\n", Colors);
这样做
Text.insertString(Text.getLength(), Message + "\n", Colors)
0是索引位置,插入文本。使用Text.getLength(),它将始终插入到最后。
有关详细信息,请参阅此处:JTextPane appending a new string