Java:在顶部显示文本

时间:2012-06-22 18:53:33

标签: java swing jtextarea caret

我有一个简单的显示例程

    public static void showEngineAnalysis(String message) {

    if (message.length() > 0)
        message += "\n";
    Application.obj.engineOutput.append(message);

}

下面的输入流打印数据
      public void getEngineOutputOriginal(Process engine) 
  {
        try {

                  BufferedReader reader =
                  new BufferedReader(new InputStreamReader(engine.getInputStream()), 1);
                  String lineRead = null;
                  while((lineRead = reader.readLine()) != null) 

                  Application.showEngineAnalysis(lineRead);//send engine analysis to print method

             }
                    catch(Exception e) {
                      e.printStackTrace();
                    }
  }

我希望显示例程在我的JTextArea(engineOutput)顶部打印下一行,而不是在底部,即:

  1. e7e6 b1c3 2. c5d4 e3d4
  2. e7e6 c4d5 2. e6d5
  3. c5d4 e3d4 2. b8c6
    1. c5d4 e3d4 2. b8c6
    2. e7e6 c4d5 2. e6d5
    3. e7e6 b1c3 2. c5d4 e3d4
    4. 我完全无法弄明白(我尝试了插入位置等)

1 个答案:

答案 0 :(得分:2)

您可以插入文字而不是附加文字。

public static void showEngineAnalysis(String message) {
    if (message.length() > 0)
        message += "\n";
    Application.obj.engineOutput.insert(message, 0);
}