2012-12-20 48 views
5

Tôi bị kẹt trong một số bước mà tôi không thể thêm phím tắt như: CTRL + SPACE vào chương trình của tôi, tôi đang tìm kiếm trong một tuần và tôi có thể tìm thấy bất kỳ câu trả lời nào .Làm thế nào để thêm các phím tắt vào JTextField?

+5

Tìm hiểu về tổ hợp phím: http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html –

Trả lời

6

Bạn sẽ muốn xem Java Tutorial để có cái nhìn tổng quan về Khóa ràng buộc chính.

Dưới đây là một ví dụ nhanh:

import java.awt.event.*; 
import javax.swing.*; 

public class KeyBindings extends Box{ 
    public KeyBindings(){ 
     super(BoxLayout.Y_AXIS); 
     final JTextPane textArea = new JTextPane(); 
     textArea.insertComponent(new JLabel("Text")); 
     add(textArea); 

     Action action = new AbstractAction() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       textArea.setText("New Text"); 
      }}; 
     String keyStrokeAndKey = "control SPACE"; 
     KeyStroke keyStroke = KeyStroke.getKeyStroke(keyStrokeAndKey); 
     textArea.getInputMap().put(keyStroke, keyStrokeAndKey); 
     textArea.getActionMap().put(keyStrokeAndKey, action); 
    } 


    public static void main(String[] args) { 
     JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setContentPane(new KeyBindings()); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+0

đoán gì! Nó đã được làm việc. Cảm ơn vì lời khuyên và cảm ơn vì giải pháp cũng giống như vậy đối với JTextField và tôi sẽ tra cứu keyBindings. – Azad

Các vấn đề liên quan