说的详细点吧。我做的是个日历的东西。
用的是个JTextArea[i]的的方法来显示其日历的当天日期的,没有年月,就是在一个6X7的布局中加入日期。在JTextArea中,我已经设置了其读取数据库数据的方法,所以里面的文本显示的就是从数据库中取得的。
在显示的时候,我把数据库读取到的文本从其第二行开始显示的。
而,现在我要在空白的JTextArea中输入文本,那么我怎么得到其输入的文本,而不是连带其日期全部读取到呢?

解决方案 »

  1.   

    public String getText(int offs,
                          int len)
                   throws BadLocationException
      

  2.   

    忘记说一句,那就是,我读取到的文本是要保存进数据库的,那么就不能有其日期,因为在JTextArea中的日期是专门有代码写进去的,如果再加上从数据库读取到的文本显示的时候,就会有2个日期显示了吧。大家想想办法,能不能就是在读取的时候,从JTextArea中的第二行开始读取(最好是从日前开始读取),可能可以使用光标的位置来读取的吧,不知道可以不可以???知道的说下,人在线,解决了马上给分。
      

  3.   

    public String getText(int offs, 
                          int len) 
                  throws BadLocationException
    或者
    一开始读入日期后,记录下光标位置end,最后getText().substring(end);
      

  4.   

    这个方法刚才我也看到了,但是API中写的是
    "获取由组件表示的文本部分。如果长度为 0,则返回空字符串。" 
    而参数:
    offs - 偏移量,该值 >= 0
    len - 长度,该值 >= 0 有点看不明白,楼上可以解释下嘛。还有你是定义个方法,而我存储的代码写的地方也是在一个方法里面的,
    因为,我定义的是JTextArea[],日期的显示就是写在一个方法里的,而存储又是在日期的显示代码中的。
    有点乱,明白不???
      

  5.   

    getText().substring(end); 
    这个方法是不是取得前面记录的光标位置end之后的文本??
      

  6.   

    对了 还有个方法就是,可不可以在JTextArea的位置上设置个监听,然后双击之后弹出的文本的输入框,然后再在这里面输入文本,那么就不用考虑其日期的问题了。
    关键是可以弹出个文本框吗???怎么写?
      

  7.   

    public class
    要取出class, getText(7, 5)或getText().subString(7)
      

  8.   

    是这样吗?
    xxx.addMouseListener(new MosueAdapter()
    {
    public void mouseClicked(MouseEvent e)
    {
    if (e.getClickCount() == 2)
    {
    //do
    }
    }
    });
      

  9.   

    写入日期的时候可以加入分割符比如@
    getText()之后substring,截取你要的字符串
      

  10.   

    int end = textArea_day[i].getCaretPosition();
    System.out.println(end);上面的我取在日期输入之后光标的位置的,怎么打印出来看到的全是0嘛
      

  11.   

    看看是不是在之前调用了setCaretPosition(0)