CavalryOuO 2017-05-26 12:24 采纳率: 62.5%
浏览 2992
已采纳

java切换jpanel时如何强制获得焦点?

第一个jpanel有数个jlabel、jbutton,点击一个特定jbutton后,removeAll,切换到第二个jpanel,但是此时第二个jpanel失去了焦点,已经写了setFocusable(true)和requesFocus也无法获得焦点,请问是不是需要把第一个jpanel的已经remove的jlabel和jbutton设置为setFocusable(false)?

  • 写回答

1条回答 默认 最新

  • 战在春秋 2017-05-26 13:10
    关注

    需要让第二个Panel中的某个控件获得焦点,而不仅仅是jpanel.requestFocus。

    代码如下:

    //删除第1个panel中所有控件。
                  panel1.removeAll();
                    panel1.repaint();
    
     //让第2个panel中第一个控件获得焦点  
                                panel2.getComponent(0).setFocusable(true);
                    panel2.getComponent(0).requestFocus();
    

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?