求解一个swing界面的焦点问题,就是我要设置一个窗口打开后焦点马上失去。一般像我们登录QQ后,焦点一直会有QQ面板上面,我现在要的结果是窗口一打开焦点失去回到登录前的其它组件上。如何实现,求教!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【kkcheng】截止到2008-07-01 09:16:32的历史汇总数据(不包括此帖):
    发帖数:9                  发帖分:740                
    结贴数:5                  结贴分:620                
    未结数:4                  未结分:120                
    结贴率:55.56 %            结分率:83.78 %            
    楼主加油
      

  2.   


    红色部分到底是组件还是窗口,我怎么感觉你说的意思像是窗口
    如果是窗口,这个窗口是不是java的,如果不是,那相当麻烦,如果是那只要把焦点切换到那个窗口上即可
      

  3.   

    其它主件直接获取焦点不就行吗? 
    譬如: JFrame f = new JFrame();
          .... 
          f.requestFocus();
      

  4.   


    JFrame f1 = new JFrame();
            f1.addFocusListener(new FocusAdapter() {
                public void focusGained(FocusEvent e) {
                    e.getOppositeComponent().requestFocus();
                }
            });
      

  5.   

    差不多就是这样了import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;import javax.swing.JFrame;public class MyTest extends JFrame {    public MyTest() {
            this.setVisible(false);
            this.setFocusableWindowState(false);
            this.setVisible(true);
        }    /**
         * @param args
         */
        public static void main(String[] args) {
            MyTest frame = new MyTest();
            frame.setSize(300, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }}