1

我正在处理我的 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);

    }

}

请帮忙。谢谢

4

1 回答 1

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
    }
}

我希望这有帮助。您必须了解其工作原理,如评论之一所述。

于 2013-08-28T17:52:05.613 回答