Tôi có một JFrame
với ba JButton trên đó. Tôi đã đặt txtSearch
(thành phần JTextField
) để lấy tiêu điểm khi tải JFrame
. Một trong các nút được đặt làm nút mặc định. Đây là mã của tôi:Nút mặc định trong JFrame không kích hoạt khi phím enter đang được nhấn
private void formWindowOpened(java.awt.event.WindowEvent evt)
{
// btnRefresh.setMnemonic(KeyEvent.VK_R); // Even if this line
// is not commented, but
// still the event wouldn't fire.
this.getRootPane().setDefaultButton(btnRefresh);
}
Khi nó tải, nút được chỉ được lựa chọn, nhưng nó đã không làm gì khi Nhập chủ chốt đã được nhấn. Làm cách nào để triển khai chính xác?
btnRefresh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRefreshActionPerformed(evt);
}
});
private void btnRefreshActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(this, "Pressed!");
// Other codes here (Replace by JOptionPane)
}
Tôi thấy rằng cách dễ nhất là gọi requestFocusInWindow() SAU JFrame hiển thị để đặt nút mặc định. Hy vọng điều này sẽ giúp một ai đó. – GeriBoss