当然,弹出window后,焦点自然而然得到了window上面。
你可以再弹出window以后,再让textarea获得焦点。

解决方案 »

  1.   

    你这段程序错还不少 JFrame frame = new JFrame();
    JTextArea textArea = new JTextArea();
    frame.getContentPane().add(textArea);
    frame.setSize(400,300);
    frame.show();
    JWindow window = new JWindow(frame); 
    window.setSize(200,100);
    window.setLocation(100,100);
    window.show();
    textArea.requestFocus();textArea已经得到焦点了,不过因为你把frame设为window的父窗体,所以就盖住了光标。
      

  2.   

    这段程序不是原文,只是我模仿情景随意写的,其它错误可以不计
    我已经用textArea.requestFocus去获取焦点了
    我用System.println.out打印过textArea是否有焦点,打印出来的是有,但是没有光标的
    还有,我设置了window窗口的位置,不会盖住光标的,就是没有光标
      

  3.   

    在弹出窗口后,你可以不动鼠标,继续在textArea上编辑文本吗?
      

  4.   

    问题可能出在你设置焦点的位置,你试着将textArea.requestFocus();提到show()方法之前,这是因为,当调用了show()方法后,
    swing的主线程会停止在show的地方,而不会执行show方法下面的代码,要检验也非常容易,你可以在show方法后面加上一个System.out.printn();
    就会发现当界面出现时,该输出语句并没有执行。
      

  5.   

    kennethd() 你说的是Dialog,Window不会。 zjueman(老学究) 可以啊,完全没问题。不动鼠标,中间有块灰的,但可以直接录入内容。
      

  6.   

    kenethd:你说的问题我考虑过,我打印过的,show后面的语句可以执行,没有问题。
    relive:
       你是让window动态弹出的吗? 就是在你编辑文本的过程中,某些文字激发window.show()出来
    还有window不是空的,window里面有一个面板,面板上有一个包含jlist的jscrollPane,是不是和里面的东西有关系?
      

  7.   

    我知道了,你是准备做个类似编译器的自动过滤带出功能吧??
    何必用JWindow呢?
      

  8.   

    不是的,我是做类似jbuilder中的编码智能,就是你在变量名后敲入一个点以后,系统会自动弹出可以该变量可以用的所有方法,辅助进行编码
      

  9.   

    我就是那个意思,用JPopupMenu完全可以实现,干什么要用JWindow