• 受付
  • すぐに回答を!

javaについて

  • 質問No.9701711
  • 閲覧数56
  • ありがとう数0
  • 気になる数0
  • 回答数0

お礼率 0% (0/0)

ボタンを5*5でCENTERに置き、各ボタンに被りなしで1~25を置く。
ボタンを押すと色が変わり(赤や青)押せなくする。
ボタンを1から順に25こ順番に押し終わったら上のJLabelに別クラスで計測していたタイムを表示したいです。
その後Resetボタンが押せるようにしたいです。
今5*5でボタンを配置とResetボタンはできたのですが、
各ボタンにランダムに数値の配置方法と、ボタンを押すと色が変わり(赤や青)押せなくする方法、別クラスでタイムを計り、それをJLabelに表示する方法がわからないです。
ランダムに配置するために数字の入った配列をシャッフルしてボタンに数字を割り当てたりボタンを押せなくするにはfalseにしたりするのは何となくわかるのですがどのように書けば良いかわからないです。
出来れば実際に動くコード、また気を付ける点など教えてほしいです。
調べたりしても分からなくて...よろしくお願いいたします!
↓のは今書いている途中のコードです。↓
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ClickNumber extends JFrame implements ActionListener{
static JLabel jl1;

JButton[] jb = new JButton[26];
JPanel pane=new JPanel();

public static void main(String[] args) {
new ClickNumber();
}
ClickNumber(){
setsize();
setJButton();
setstartLabel();
}


private void setstartLabel() {
jl1 = new JLabel("strat1");
jl1.setFont(new Font(null, Font.PLAIN, 20));
jl1.setHorizontalAlignment(JLabel.CENTER);
jl1.setForeground(Color.BLACK);
this.getContentPane().add(BorderLayout.NORTH, jl1);
}


private void setJButton() {
pane.setLayout(new GridLayout(5,5));
this.getContentPane().add(BorderLayout.CENTER,pane);
for(int i=1; i<jb.length;i++) {
jb[i]=new JButton();//ここがなにか?
pane.add(jb[i]);
}
this.setVisible(true);
}



private void setsize() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,500);
this.setTitle("ClickNumber");

jb[0]=new JButton("Reset");
jb[0].addActionListener(this);
this.getContentPane().add(BorderLayout.SOUTH,jb[0]);
}





public void actionPerformed(ActionEvent e) {
// TODO 自動生成されたメソッド・スタブ
for(int i=1; i<24;i++) {
if (e.getSource() == jb[i]) {
jb[i].setEnabled(false);
jl1.setText("Next "+i+1);
}
}
}
public void keyPressed(KeyEvent e) { }
public void keyReleased(KeyEvent e) { }
}
現在回答を募集しています。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ