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

これが役立つことを願っています。ただし、コメントの 1 つで説明されているように、作業を理解する必要があります。

于 2013-08-28T17:52:05.613 に答える