潇湘缘ljc 潇湘缘ljc
若有知音见采,不辞遍唱阳春。
关注数: 34 粉丝数: 72 发帖数: 5,638 关注贴吧数: 18
还是小弟我,五子棋程序有点小问题,请大婶看一下,帮个忙阿!! 五子棋有个倒计时显示,时间显示部分会有重影,但是窗口最小化再恢复后重影消失,然后又出现重影,必须不断刷新窗口,怎么回事阿?下面是代码,求帮忙改正阿!!! package org.liky.game.frame; import java.awt.Button; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.HeadlessException; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JOptionPane; @SuppressWarnings({ "serial", "unused" }) public class FiveChessFrame extends JFrame implements MouseListener,Runnable, ActionListener,MouseMotionListener,ItemListener { Button b1=new Button("开始"); Button b2=new Button("设置"); Button b3=new Button("说明"); Button b4=new Button("悔棋"); Button b5=new Button("认输"); Button b6=new Button("关于"); Button b7=new Button("退出"); // 获取屏幕宽度 int width = Toolkit.getDefaultToolkit().getScreenSize().width; // 获取屏幕长度 int height = Toolkit.getDefaultToolkit().getScreenSize().height; // 背景图片 BufferedImage bgimage = null; // 保存棋子坐标 int x = 0; int y = 0; // 保存之前下过的全部棋子的座标 // 其中数据内容0 表示 这个点并没有棋子,1 表示这个点是黑子, 2表示这个点是白点 int[][] allChess = new int[19][19]; // 标示当前是黑棋 boolean isBlack = true; // 标识当前游戏是否可以继续 boolean canPlay = true; //提示信息 String message="黑方先行"; //保存最多拥有时间(秒) int maxTime= 0; //做倒计时的线程类 Thread t=new Thread(this); //保存黑白与白方的剩余时间 int blackTime=0; int whiteTime=0; //保存时间信息 String blackMessage="无限制"; String whiteMessage="无限制"; @SuppressWarnings("deprecation") public FiveChessFrame() { // 设置标题 this.setTitle("五子棋"); // 设置窗体大小 this.setSize(500, 500); // 设置窗体出现位置 this.setLocation((width - 500) / 2, (height - 500) / 2); // 大小不可变 this.setResizable(false); // 关闭 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示 this.setVisible(true); //将窗体加入监听器 this.addMouseListener(this); t.start(); t.suspend(); setLayout(null); this.add(b1); this.add(b2); this.add(b3); this.add(b4); this.add(b5); this.add(b6); this.add(b7); b1.setBounds(400,70,70,30); //设置第一个按钮左上角的位置和大小 b2.setBounds(400,120,70,30); //设置第二个按钮左上角的位置和大小 b3.setBounds(400,170,70,30); //设置第三个按钮左上角的位置和大小 b4.setBounds(400,220,70,30); //设置第四个按钮左上角的位置和大小 b5.setBounds(400,270,70,30); //设置第五个按钮左上角的位置和大小
首页 1 2 下一页