本帖最后由 starviolet 于 2010-10-03 12:50:48 编辑

解决方案 »

  1.   

    1. setBorder(null);
    2. 一開始將 jTextArea 的 editable 和 enadle都設為false。
    (如果要能選,只是無法編輯,就只要設editadle為false)
    然後 mouse click event裡面 
    if(evt.getClickCount()==2){
      jTextArea.setEditable(true);
      jTextArea.setEnabled(true);
    }
      

  2.   

    谢谢楼上的回复~!!第一个问题已经解决了~!!可是 第2个问题不行我用的不是JTextArea,而是 JTextPane 和 JScrollPane。
    我尝试着把一些属性都给false了。如下列:
             textpane.setEditable(false);
            textpane.setEnabled(false);
            textpane.setFocusable(false);
            textpane.setDragEnabled(false);
            textpane.setRequestFocusEnabled(false);
            textpane.setFocusCycleRoot(false);
            textpane.setFocusTraversalPolicyProvider(false);
            textpane.setFocusTraversalKeysEnabled(false);
            textpane.setAutoscrolls(false);
            scrollpane.setEnabled(false);
            scrollpane.setFocusable(false);
            scrollpane.setWheelScrollingEnabled(false);
            scrollpane.setFocusTraversalKeysEnabled(false);
            scrollpane.setAutoscrolls(false);
            scrollpane.setFocusCycleRoot(false);
            scrollpane.setFocusTraversalPolicyProvider(false);
            scrollpane.setRequestFocusEnabled(false);
            scrollpane.setVerifyInputWhenFocusTarget(false);
    但还是没有得到我想要的结果其实我想实现的功能就如 WORD文档的绘图。比如,绘出一个圆形,然后双击这个圆形可以在里面输入文字。当单击时,可以选定这个圆形,然后进行移动、调整大小等。
    我是使用graphic2D来绘制的。双击shape时,可以编辑文字;但单击时,是选定这个shape,然后有些mouse events,可以移动shape,调整shape大小。。