我需要一些幫助,將Keylistener或鍵綁定添加到下一個示例中的按鈕。當我按下鍵盤上的A或B時,我想要使用與按下鼠標時相同的動作。添加keylistener或鍵綁定到使用ActionListener的JButtons
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class NetTest {
static JButton btnA = new JButton("A");
static JButton btnB = new JButton("B");
static JPanel jp = new JPanel();
static JFrame jf = new JFrame("Test APP");
static JLabel jl = new JLabel("Which button was clicked ?");
static ActionListener action = new ActionListener() {
public void actionPerformed(ActionEvent e) {
jl.setText(((JButton)e.getSource()).getText());
}
};
public static void main(String[] args) {
jf.setVisible(true);
jf.setSize(400, 400);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jp.add(btnA);
jp.add(btnB);
jp.add(jl);
jf.add(jp);
btnA.addActionListener(action);
btnB.addActionListener(action);
}
}
dic19我做了我的功能,你爲我節省button.This說是我的code.But它沒有工作了我。我addedd我的代碼這裏.plz檢查,並幫助me.AbstractAction buttonPressed =新AbstractAction(){ \t \t @覆蓋 \t \t \t公共無效的actionPerformed(ActionEvent的E2){ \t \t \t \t的System.out.println(e2.getActionCommand() ); \t \t \t \t} \t \t}; \t \t \t buttonSave.addActionListener(buttonPressed); \t buttonSave.getInputMap(javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW).put(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S,0),「save」); ()「save」,buttonPressed);}}}} –