ただいまの進展状況。

これ、ガワだけです。まだ。

数字を表示しているのは3つのJTextFieldなので、そのままでは字は小さいわ、左詰だわでスロットマシンにならないので、このような表示が出来るようにするだけで、Fontクラスなるものを使わなくてはなりません。

JPanel centerP = new JPanel();

centerP.setLayout(new GridLayout(1,3));

Font f = new Font(Font.SERIF,Font.BOLD,98);

JTextField field1 = new JTextField();

field1.setFont(f);

field1.setHorizontalAlignment(JTextField.CENTER);

field1.setText(“7”);

field1.setEnabled(false);

JTextField field2 = new JTextField();

field2.setFont(f);

field2.setHorizontalAlignment(JTextField.CENTER);

field2.setText(“7”);

field2.setEnabled(false);

JTextField field3 = new JTextField();

field3.setFont(f);

field3.setHorizontalAlignment(JTextField.CENTER);

field3.setText(“7”);

field3.setEnabled(false);

centerP.add(field1);

centerP.add(field2);

centerP.add(field3);

getContentPane().add(centerP, BorderLayout.CENTER);

こんな感じ。

しかし、Javaってよく出来てて、Fontクラスに必要な値、設定、JTextFieldに必要な値、設定は、それぞれのクラスが定数として持っているので、Font. とか、JTextField. とか打てばなんか候補が出て、これだろな、的なものが見つけやすい。

ここくらいまでは、さほど苦労しないんです。

さて、スペースキーを押した時に、keypressedメソッドに何が渡ってくるか見てみましょう。

public void keyPressed(KeyEvent e) {

// TODO 自動生成されたメソッド・スタブ

System.out.println(e.getKeyChar());

}

とりあえずコンソールに出してみます。

ちょっと待ったー!これ違うやろ。

これ、ストップボタンやろ。

なんか忘れてる。addKeyListenerか。

コンストラクタに書き足してみます。

コンストラクタの一番最後に。

う〜ん。どうもスペースキー押すとボタンが反応しますね。

で、肝心のkeypressedには届いてない。

KeyListenerは別のクラスにimplementsしてやらないとダメかなぁ。。

アプリ素人はこれだよ。。

という訳で、今回はここが限界。次回。#スロットマシン