我想做一个带行号的多行文本输入框,但不清楚文字位置如何跟原文对齐。

解决方案 »

  1.   

    在原文中,一行一行的读,不就跟原文的位置对齐了
    StringBuffer sb=new StringBuffer();
    FileInputStream fin=new FileInputStream(new File(****));
    BufferedReader br=new BufferedReader(fin);
    String str=br.readLine();
    while(str!=null)
    {
      sb.append(str+"\n");
      str=br.readLine();
    }jtextArea.setText(sb.toString());
      

  2.   

    我已经找到解决办法了,但还是要谢谢你。我是想做出eclipse那样的带行号的文本编辑器。
    解决办法:
    纵向居中对齐,文字的上界 加上 文字的下界 得出 文字实际高度。用行高 减去 实际高度,得到文字行边界。这个值是上边界和下边界值的总和。用它除以2,用它和上界或下界可求出文字位置。