java
1import java.util.Random; 2import java.util.Timer; 3import java.util.TimerTask; 4import javax.swing.ImageIcon; 5import javax.swing.JButton; 6import javax.swing.JFrame; 7import javax.swing.JPanel; 8 9class TASK extends TimerTask{ 10 // タイマー処理のメソッドを誘発する 11 public void run(){ 12 Fishing Act = new Fishing(); 13 Act.ROLL(); 14 } 15} 16 17public class Fishing extends JFrame 18{ 19 private static final long serialVersionUID = 1L; 20 21//クラス変数定義 22static JButton[] Bbt={new JButton(new ImageIcon("しーん.jpg")), 23new JButton(new ImageIcon("!.jpg")),new JButton(new ImageIcon("!!.jpg")), 24new JButton(new ImageIcon("!!!.jpg")),new JButton(new ImageIcon("?.jpg"))}; 25static JButton CHANGEBt=Bbt[0]; 26JPanel p4 = new JPanel(); 27 28// タイマー処理(本命) 29public void ROLL(){ 30 int x= Atrandom(); 31 CHANGEBt.setBounds(0,0,0,0); //この処理はうまくいく 32 CHANGEBt=Bbt[x]; 33 CHANGEBt.setBounds(378,200,375,280); // なにも起きない 34 p4.revalidate(); 35 p4.repaint(); 36} 37 38//1~4までの非等倍乱数を得る。 39 public int Atrandom(){ 40 int Ra[]={1,1,1,1,1,1,1,2,2,2,2,2,3,3,3,4,4,4,4,4}; 41 Random r=new Random(); 42 int A=r.nextInt(20); int B = Ra[A]; 43 return B; 44 } 45 46// ゲーム画面 47public void MAINGAME(){ 48 setBounds(550, 100, 770, 800); 49 p4.setLayout(null); 50 p4.add(CHANGEBt); CHANGEBt.setBounds(378,200,375,280); 51 add("Center",p4); 52 setVisible(true); 53 Random r = new Random(); int R; 54 R=100*(r.nextInt(50) +1); // 100<= R <= 5000 55 Timer timer = new Timer(true); 56 57 timer.schedule(new TASK(),R); //タイマー処理は最後にコンパイラされる 58} 59//メインメソッド 60 public static void main(String[] args) 61 { 62 Fishing set = new Fishing(); 63 set.MAINGAME(); 64 } 65} 66 67 68 69 70 71
コードは作られたままご張り付けてください.
回答の際, ご提示のコードをコピーペーストして再現致します. その際, 全角スペース等があると修正が必要になり, 何かの拍子に必要な個所を消してしまう等のトラブルによって再現できない場合があります.
回答2件
あなたの回答
tips
プレビュー