java - 自动聚焦于 jpanel 上的 jButton

标签 java swing focus jbutton netbeans-7

我在 JFrame 上加载了一个 JPanel。 JPanel 包含 4 个 JButton。我想要做的是自动将焦点放在第一个 jbutton 上,这样我就可以使用键盘在 JButton 之间移动。

我在 jpanel 的构造函数中尝试了 jButton1.requestFocusInWindow(); 代码,但仍然无法正常工作。有什么我想念的吗?我还能做什么?

编辑: 工程包含3个java文件,代码如下:

新JFrame.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sampleui;

import java.awt.Container;
import java.awt.Toolkit;
import javax.swing.JRootPane;
import javax.swing.UIManager;

/**
 *
 * @author Administrator
 */
public class NewJFrame extends javax.swing.JFrame {

static Container container;

/**
 * Creates new form NewJFrame
 */
public NewJFrame() {
    initComponents();
    rootPane= getRootPane();
    container=getContentPane();
    setSize(Toolkit.getDefaultToolkit().getScreenSize());
    setVisible(true);

}

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jMenuItem1 = new javax.swing.JMenuItem();
    jPanel1 = new javax.swing.JPanel();
    jLabel2 = new javax.swing.JLabel();
    jLabel5 = new javax.swing.JLabel();
    jLabel6 = new javax.swing.JLabel();
    jLabel1 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    jPanel2 = new javax.swing.JPanel();
    jLabel7 = new javax.swing.JLabel();
    jLabel8 = new javax.swing.JLabel();
    jLabel9 = new javax.swing.JLabel();
    jDesktopPane1 = new javax.swing.JDesktopPane();

    jMenuItem1.setText("jMenuItem1");

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("This is the Title");

    jPanel1.setBackground(new java.awt.Color(204, 204, 204));
    jPanel1.setLayout(new java.awt.BorderLayout());

    jLabel2.setForeground(new java.awt.Color(255, 255, 255));
    jPanel1.add(jLabel2, java.awt.BorderLayout.PAGE_START);

    jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel5.setForeground(new java.awt.Color(51, 51, 51));
    jLabel5.setText("dfgdfgdfg");
    jPanel1.add(jLabel5, java.awt.BorderLayout.LINE_START);

    jLabel6.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel6.setText("dfgdfgdfg");
    jPanel1.add(jLabel6, java.awt.BorderLayout.LINE_END);

    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel1.setText("dfgdfgfdgfdgfdg");
    jPanel1.add(jLabel1, java.awt.BorderLayout.CENTER);

    jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel3.setText("jLabel3");
    jPanel1.add(jLabel3, java.awt.BorderLayout.PAGE_END);

    getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_START);

    jPanel2.setBackground(new java.awt.Color(204, 204, 204));
    jPanel2.setLayout(new java.awt.BorderLayout());

    jLabel7.setText("jLabel7");
    jPanel2.add(jLabel7, java.awt.BorderLayout.LINE_START);

    jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
    jLabel8.setText("jLabel8");
    jPanel2.add(jLabel8, java.awt.BorderLayout.LINE_END);

    jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel9.setText("jLabel9");
    jPanel2.add(jLabel9, java.awt.BorderLayout.CENTER);

    getContentPane().add(jPanel2, java.awt.BorderLayout.PAGE_END);

    jDesktopPane1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jDesktopPane1MouseClicked(evt);
        }
    });
    getContentPane().add(jDesktopPane1, java.awt.BorderLayout.CENTER);

    pack();
}// </editor-fold>                        

private void jDesktopPane1MouseClicked(java.awt.event.MouseEvent evt) {                                           
    // TODO add your handling code here:

    container=getContentPane();
    setSize(Toolkit.getDefaultToolkit().getScreenSize());
    setVisible(true);

    //callCompanyOption();

    container.setVisible(false);
    jDesktopPane1.setVisible(false);
    NewJPanel p=new NewJPanel();
    //p.setBounds(40, 30, 1200, 786);
    container.add(p);
    container.setVisible(true);

}                                          


/**
 * @param args the command line arguments
 */
public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);
        }
    });
}



// Variables declaration - do not modify                     
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
// End of variables declaration                   
}

NewJPanel.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sampleui;

import java.awt.Component;
import java.awt.Container;
import java.awt.event.KeyEvent;

/**
 *
 * @author Administrator
 */
public class NewJPanel extends javax.swing.JPanel {


/**
 * Creates new form NewJPanel
 */
public NewJPanel() {
    initComponents();

}

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jPanel2 = new javax.swing.JPanel();
    jPanel1 = new javax.swing.JPanel();
    jButton2 = new javax.swing.JButton();
    jXMonthView1 = new org.jdesktop.swingx.calendar.JXMonthView();

    setLayout(new java.awt.GridBagLayout());

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 0, Short.MAX_VALUE)
    );
    jPanel2Layout.setVerticalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 0, Short.MAX_VALUE)
    );

    add(jPanel2, new java.awt.GridBagConstraints());

    jButton2.setText("OK");
    jButton2.setNextFocusableComponent(jButton2);
    jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jButton2MouseClicked(evt);
        }
    });
    jButton2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton2ActionPerformed(evt);
        }
    });
    jButton2.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jButton2KeyPressed(evt);
        }
    });

    jXMonthView1.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jXMonthView1KeyPressed(evt);
        }
    });

    javax.swing.GroupLayout jXMonthView1Layout = new javax.swing.GroupLayout(jXMonthView1);
    jXMonthView1.setLayout(jXMonthView1Layout);
    jXMonthView1Layout.setHorizontalGroup(
        jXMonthView1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 0, Short.MAX_VALUE)
    );
    jXMonthView1Layout.setVerticalGroup(
        jXMonthView1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 160, Short.MAX_VALUE)
    );

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addGap(64, 64, 64)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 217, Short.MAX_VALUE)
                .addComponent(jXMonthView1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addContainerGap(56, Short.MAX_VALUE))
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addGap(19, 19, 19)
            .addComponent(jXMonthView1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap())
    );

    add(jPanel1, new java.awt.GridBagConstraints());
}// </editor-fold>

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {                                      

            jPanel1.setVisible(false);
            NewJFrame.container.remove(NewJPanel.this);
            NewJPanel1 p=new NewJPanel1();
            NewJFrame.container.add(p);


}                                     

private void jButton2KeyPressed(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
    int key=evt.getKeyCode();
    if(key==KeyEvent.VK_ENTER)
    {
        System.out.println("Enter Pressed");
        jPanel1.setVisible(false);
        NewJFrame.container.remove(NewJPanel.this);
        NewJPanel1 p=new NewJPanel1();
        NewJFrame.container.add(p);
    }
}                                   

private void jXMonthView1KeyPressed(java.awt.event.KeyEvent evt) {                                        
    // TODO add your handling code here:
    jButton2.requestFocus();
}                                       

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    jPanel1.setVisible(false);
        NewJFrame.container.remove(NewJPanel.this);
        NewJPanel1 p=new NewJPanel1();
        NewJFrame.container.add(p);
}


// Variables declaration - do not modify
private javax.swing.JButton jButton2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private org.jdesktop.swingx.calendar.JXMonthView jXMonthView1;
// End of variables declaration
}

NewJPanel1.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 package sampleui;

 import java.awt.Window;
 import java.awt.event.KeyEvent;
 import javax.swing.JRootPane;

 /**
 *
 * @author Administrator
 */
 public class NewJPanel1 extends javax.swing.JPanel {


//=new NewJFrame();
/**
 * Creates new form NewJPanel1
 */
public NewJPanel1() {
    initComponents();



}

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    jButton3 = new javax.swing.JButton();
    jButton4 = new javax.swing.JButton();
    jButton5 = new javax.swing.JButton();

    setRequestFocusEnabled(false);
    addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            formKeyPressed(evt);
        }
    });
    setLayout(new java.awt.GridBagLayout());

    jPanel1.setNextFocusableComponent(jButton5);
    jPanel1.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jPanel1KeyPressed(evt);
        }
        public void keyReleased(java.awt.event.KeyEvent evt) {
            jPanel1KeyReleased(evt);
        }
    });

    jButton1.setText("back");
    jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jButton1MouseClicked(evt);
        }
        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jButton1MouseEntered(evt);
        }
    });
    jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jButton1KeyPressed(evt);
        }
    });

    jButton2.setText("jButton2");
    jButton2.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jButton2KeyPressed(evt);
        }
    });

    jButton3.setText("jButton3");
    jButton3.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jButton3KeyPressed(evt);
        }
    });

    jButton4.setText("jButton4");
    jButton4.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jButton4KeyPressed(evt);
        }
    });

    jButton5.setText("jButton5");
    jButton5.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    jButton5.setFocusCycleRoot(true);
    jButton5.setFocusTraversalPolicyProvider(true);
    jButton5.setInheritsPopupMenu(true);
    jButton5.setNextFocusableComponent(jButton4);
    jButton5.setVerifyInputWhenFocusTarget(false);
    jButton5.requestFocusInWindow();
    jButton5.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton5ActionPerformed(evt);
        }
    });
    jButton5.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jButton5KeyPressed(evt);
        }
    });

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
            .addContainerGap(41, Short.MAX_VALUE)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(38, 38, 38))
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jButton5)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButton4)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButton3)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButton2)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButton1)
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    jButton5.getAccessibleContext().setAccessibleParent(this);

    add(jPanel1, new java.awt.GridBagConstraints());
    //jButton1.requestFocusInWindow();
    //NewJFrame.getRootPane().setDefaultButton(jButton1);
    //jButton1.requestFocus();
}// </editor-fold>





private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
    // TODO add your handling code here:
    jPanel1.setVisible(false);
    NewJFrame.container.remove(NewJPanel1.this);
    NewJPanel p=new NewJPanel();
    NewJFrame.container.add(p);
}                                     

private void jPanel1KeyPressed(java.awt.event.KeyEvent evt) {                                   
    // TODO add your handling code here:

    System.out.println("Key Pressed");

}                                  

private void jButton5KeyPressed(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
    int key=evt.getKeyCode();
    if(key==KeyEvent.VK_ESCAPE)
    {
        System.out.println("Escape Pressed");
        jPanel1.setVisible(false);
            NewJFrame.container.remove(NewJPanel1.this);
            NewJPanel p=new NewJPanel();
            NewJFrame.container.add(p);
    }
}                                   

private void jButton4KeyPressed(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
    int key=evt.getKeyCode();
    if(key==KeyEvent.VK_ESCAPE)
    {
        System.out.println("Escape Pressed");
        jPanel1.setVisible(false);
            NewJFrame.container.remove(NewJPanel1.this);
            NewJPanel p=new NewJPanel();
            NewJFrame.container.add(p);
    }
}                                   

private void jButton3KeyPressed(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
    int key=evt.getKeyCode();
    if(key==KeyEvent.VK_ESCAPE)
    {
        System.out.println("Escape Pressed");
        jPanel1.setVisible(false);
            NewJFrame.container.remove(NewJPanel1.this);
            NewJPanel p=new NewJPanel();
            NewJFrame.container.add(p);
    }
}                                   

private void jButton2KeyPressed(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
    int key=evt.getKeyCode();
    if(key==KeyEvent.VK_ESCAPE)
    {
        System.out.println("Escape Pressed");
        jPanel1.setVisible(false);
            NewJFrame.container.remove(NewJPanel1.this);
            NewJPanel p=new NewJPanel();
            NewJFrame.container.add(p);
    }
}                                   

private void jButton1KeyPressed(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
    int key=evt.getKeyCode();
    if(key==KeyEvent.VK_ESCAPE||key==KeyEvent.VK_ENTER)
    {
            jPanel1.setVisible(false);
            NewJFrame.container.remove(NewJPanel1.this);
            NewJPanel p=new NewJPanel();
            NewJFrame.container.add(p);
    }
}                                   

private void jButton1MouseEntered(java.awt.event.MouseEvent evt) {                                      
    // TODO add your handling code here:

}                                     

private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
    // TODO add your handling code here:
    System.out.println("key pressed");
}                               

private void jPanel1KeyReleased(java.awt.event.KeyEvent evt) {                                    
    // TODO add your handling code here:
}                                   

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
}                                        


// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
public static javax.swing.JPanel jPanel1;
// End of variables declaration

使按钮能够获得焦点的原因是通过箭头键或键盘在按钮之间遍历。

最佳答案

方法

jButton1.requestFocus();

应该工作得很好。但是当你调用这个方法时它是必不可少的。

该方法必须在按钮显示后调用。这意味着,不要在构造函数中调用 requestFocus(),而是在面板已经可见时调用它。

这是一些伪代码:

public NewJFrame() {
    initComponents();
    //some methods ommitted
    setVisible(true);

    //change to NewJPanel1

    //request focus after displaying the NewJPanel1
}

编辑:这是一个可能解决方案的具体实现。

NewPanel.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    jPanel1.setVisible(false);
    NewJFrame.container.remove(NewJPanel.this);
    NewJPanel1 p=new NewJPanel1();
    NewJFrame.container.add(p);

    p.initFocus();
}

NewJPanel1.java

public void initFocus() {
    jButton5.requestFocus();
}

关于java - 自动聚焦于 jpanel 上的 jButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14499950/

相关文章:

Java柏林噪声

Java KeyListener 将变量视为静态变量

Java 动画 : Rotating Image

javascript - 移动版 Safari : Javascript focus() method on inputfield only works with click?

java - 在获得焦点时开始在 JTable 中的单元格中进行编辑

java - 反射过载。为反射可变参数方法填充反射数组

java - 如何使用 OpenCV 的 Watershed Transform 实现过分割?

java - 如何在不可编辑的 JTextField 中显示图像?

Flutter:如何将焦点放在自动完成字段上?

java - HTTP 状态 404 - 请求的资源不可用。一个简单的servlet认证系统