ただいまの進展状況。
これ、ガワだけです。まだ。
数字を表示しているのは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してやらないとダメかなぁ。。
アプリ素人はこれだよ。。
という訳で、今回はここが限界。次回。#スロットマシン