如何在Java中使用KeyPressed

时间:2013-04-03 05:54:50

标签: java swing jframe jpanel jbutton

我正在处理我的Java任务。我必须创建一个虚拟键盘,我的教授没有告诉我们关于KeyPressed的事情,我现在被困了几天。

我的问题是,如果我希望用户在JTextFiled中输入内容,并且想要在用户键入键盘上可用的任何字符时将JButton的背景更改为以不同颜色显示,我该怎么办?是什么?

例如,如果用户点击空格键,我希望框架上空格键的颜色显示为黑色,当用户释放按钮时,颜色会更改为原始背景颜色。

我知道如何创建JFrame,JButton,JLabel和JPanel。

这是我创建的一个简单代码。

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

public class Assignment extends JFrame {

  private JButton jbtnSpace = new JButton(" ");
  private JPanel jpnl1 = new JPanel();

  private JTextArea txta = new JTextArea(10,62);

  public Assignment(){

  jpnl1.add(txta);

  jpnl1.add(jbtnSpace);

  this.add(jpnl1);

  }

  public static void main(String[] args) {

        Assignment jfrm = new Assignment();

        jfrm.setTitle("Assignment");
        jfrm.setSize(710,440);
        jfrm.setVisible(true);
        jfrm.setDefaultCloseOperation(EXIT_ON_CLOSE);

    }

}

请帮忙。谢谢

1 个答案:

答案 0 :(得分:0)

试试这个:

private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {                                     

    int i=evt.getKeyChar();
    if(i==KeyEvent.VK_SPACE)     //or any Key Constant
    {
        //your code of changing the color
    }
}

我希望这会有所帮助。您必须了解其中的工作情况,如其中一条评论中所述。