【问题标题】:How to use KeyPressed in Java如何在 Java 中使用 KeyPressed
【发布时间】:2013-04-03 05:54:49
【问题描述】:

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

    }

}

请帮忙。谢谢

【问题讨论】:

标签: java swing jframe jpanel jbutton


【解决方案1】:

试试这个:

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

我希望这会有所帮助。但是,您必须了解其工作原理,如其中一个 cmets 中所述。

【讨论】:

    猜你喜欢
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 2017-09-11
    • 2012-10-14
    • 2017-04-08
    • 1970-01-01
    • 2018-10-06
    相关资源
    最近更新 更多