アプレットの勉強をしています。
コード public class ap3 extends Panel{ APP parent3; //---------------------------------------------------------------------- Image img[] = new Image[3]; Label lab1 = new Label("あいこです"); Label lab2; Label lab3; Button bt1 = new Button("もう一度"); Button bt2 = new Button("次の試合へ"); //---------------------------------------------------------------------- public ap3(APP app){ parent3 = app; setBackground(Color.pink); setBounds(0, 0, 700, 700); setLayout(null); lab1.setBounds(300, 450, 100, 40); lab1.setFont(new Font("Serif", Font.PLAIN, 20)); lab2 = new Label("勝者 " + Arrays.toString(Judge.winnername_list)); lab2.setBounds(300, 450, 300, 40); lab2.setFont(new Font("Serif", Font.PLAIN, 20)); lab3 = new Label("敗者 " + Arrays.toString(Judge.losername_list)); lab3.setBounds(300, 500, 100, 40); lab3.setFont(new Font("Serif", Font.PLAIN, 20)); bt1.setBounds(320, 530, 70, 40); bt1.addActionListener(this); bt2.setBounds(320, 530, 70, 40); bt2.addActionListener(this); parent3.add(this); } } //---------------------------------------------------------------------- public void init(){ repaint(); } //---------------------------------------------------------------------- public void paint(Graphics g){ //JudgeクラスのJudge_judgeメソッドを呼び出し ap2.judge_main.Judge_judge(ap2.player_main1, ap1.player, ap1.player_PC, ap1.player_NPC); for(int i = 0; i < ap1.player; i++){ g.setFont(new Font(null, Font.PLAIN, 14)); g.drawString(ap2.player_main1[i].getName(), 80+150*i, 140); g.drawString(Judge.handarrange[i]+"を出した", 80+150*i, 200); }
コード public class Judge { //---------------------------------------------------------------------- int winnerhand; //勝った人の手 int loserhand; //負けた人の手 static int handarrange[]; static boolean handboolean[] = new boolean[3]; public void Judge_judge(Player player[], int playernum, int player_hum, int player_npc){ handarrange = new int[playernum]; handboolean = new boolean[]{false,false,false}; for(int i = 0; i < player_hum; i++){ handarrange[i] = player[i].Player_HUM_hand(); handboolean[handarrange[i]] = true; } for(int i = player_hum; i < playernum; i++){ handarrange[i] = player[i].Player_NPC_hand(); handboolean[handarrange[i]] = true; } System.out.println(Arrays.toString(handarrange)); }
アプレットを実行するとアプレットのウィンドウ(フレーム?)が開くのですが、このウィンドウの右上の最大化のボタンを押したり、ウィンドウの枠をドラッグしてウィンドウの大きさを変えたりすると
initメソッドなのかpaintメソッドなのかJudge_judgeメソッドなのかどのメソッドかはわかりませんが、このどれかのメソッドが勝手に動作してしまい最後のSystem.out.println(Arrays.toString(handarrange));が何回も表示されてしまいます。
これは何が原因なのでしょう?
わかる方がいましたら教えていただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/27 02:32