2012-06-22 108 views
0

顯示文本我有一個簡單顯示程序爪哇:在頂部

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

我完全搞不清楚(我試過插針位置等)

回答

2

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

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

謝謝羅傑。這是第一次工作。很高興:-) – user1432365

+0

+1我會使用getDocumnet.insertString,在這種情況下肯定沒關係 – mKorbel

+0

@mKorbel JTextAreas在內部爲local插入一個localDocument.insertString,所以它們應該是等價的。 –