jlist如何实现行焦点改变前触发的事件,因为我想在改变前,做一个判断,是否改变焦点,如果不想的话,仍然保持这个焦点而不改变,注意我说的是保持原先的焦点,而不是重设一下原来行的焦点,因为我对jlist的行焦点改变加了一个监听器,如果重设回原来的,势必又触发一次这个监听器,但我不想触发。而是需要那种原生的不改变焦点,在PB里都有这个事件的。在java中我找不到。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【fxbird】截止到2008-07-12 21:41:48的历史汇总数据(不包括此帖):
    发帖的总数量:127                      发帖的总分数:4038                     每贴平均分数:31                       
    回帖的总数量:1035                     得分贴总数量:287                      回帖的得分率:27%                      
    结贴的总数量:116                      结贴的总分数:3758                     
    无满意结贴数:10                       无满意结贴分:380                      
    未结的帖子数:11                       未结的总分数:280                      
    结贴的百分比:91.34 %               结分的百分比:93.07 %                  
    无满意结贴率:8.62  %               无满意结分率:10.11 %                  
    值得尊敬
      

  2.   

    我想你需要的是不是监听propertychange事件,这个在焦点事件之前处理.
      

  3.   

    请问,如何用这个监听器来阻止行焦点的改变?我试过用glasspane,有很多问题
      

  4.   

    用间接的办法解决了,方法是不用行焦点改变监听器,而是定义一个MouseListener,在mousepressed事件中去写,如果行改变了,判断是否保存,如果选择取消,再把焦点设回去,不重新搜索。用了行焦点改变的监听器就没有办法了,因为它总是先于鼠标点击被触发。尽管不完美,但总算达到了目的。