Java:在顶部显示文本

Java:在顶部显示文本,java,swing,jtextarea,caret,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 en

我有一个简单的显示例程

    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(EngineeOutput)的顶部打印下一行,而不是在底部,即从:

  • e7e6 b1c3 2。c5d4 e3d4
  • e7e6 c4d5 2。e6d5
  • c5d4 e3d4 2。b8c6
  • c5d4 e3d4 2。b8c6
  • e7e6 c4d5 2。e6d5
  • e7e6 b1c3 2。c5d4 e3d4

  • 我完全搞不懂(我试过插入符号位置等)

    你可以插入文本而不是附加文本

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

    谢谢你,罗杰。这是第一次成功。高兴:-)+1我会使用getDocumnet.insertString,当然在这种情况下不会matter@mKorbelJTextAreas在内部为insert生成一个localDocument.insertString,因此它们应该是等效的。