coding
package 弹球;
import java.awt.Insets;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.awt.Color;  
import javax.swing.JOptionPane;  
/** 
 * 游戏界面类 
 *  
 * @author Administrator 
 *  
 */  
public class GameUI extends javax.swing.JFrame {  
    private static GameUI UI;  
    private java.awt.Graphics g;  
    private MyListener ml;  
    public javax.swing.JLabel text_field;  
    public javax.swing.JProgressBar pBar;  
    private String command;  
    public java.util.ArrayList<MyThread> list = new java.util.ArrayList<MyThread>();  
    private javax.swing.JToggleButton button;  
  
    public static void main(String args[]) {  
        UI = new GameUI();  
        UI.initUI();  
    }  
  
    /** 
     * 初始化窗体的方法 
     */  
    public void initUI() {  
        // 设置标题  
        this.setTitle("是高手就坚持100s");  
        // 设置大小  
        this.setSize(610, 635);  
        // 设置关闭是退出程序  
        this.setDefaultCloseOperation(3);  
        // 设置打开窗体时在屏幕中间显示  
        this.setLocationRelativeTo(null);  
        // 设置窗体的流式布局管理器  
        this.setLayout(new java.awt.FlowLayout());  
        // 设置窗体背景颜色  
        this.getContentPane().setBackground(java.awt.Color.black);  
        // 创建文本标签对象  
        text_field = new javax.swing.JLabel();  
        javax.swing.JLabel lable = new javax.swing.JLabel("时  间  :");  
        // 设置文本标签前景颜色  
        lable.setForeground(java.awt.Color.red);  
        text_field.setForeground(java.awt.Color.red);  
  
          
  
        // 创建进度条对象  
        pBar = new javax.swing.JProgressBar(0, 330);  
        // 创建按钮对象  
        button = new javax.swing.JToggleButton();  
        button.setMargin(new Insets(0, 0, 0, 0));  
        button.setIcon(new javax.swing.ImageIcon("images/Pause.gif"));  
        button.setActionCommand("暂停");  
        // 通过匿名内部类来创建动作监听器  
        java.awt.event.ActionListener button_listener = new java.awt.event.ActionListener() {  
  
            public void actionPerformed(ActionEvent e) {  
                String com = e.getActionCommand();  
  
                if (com.equals("暂停")) {  
                    button.setMargin(new Insets(0, 0, 0, 0));  
                    button  
                            .setIcon(new javax.swing.ImageIcon(  
                                    "images/start.gif"));  
                    button.setActionCommand("继续");  
                    for (int i = 0; i < list.size(); i++) {  
                        list.get(i).PauseThread();  
  
                    }  
  
                }  
                if (com.equals("继续")) {  
  
                    button.setMargin(new Insets(0, 0, 0, 0));  
                    button  
                            .setIcon(new javax.swing.ImageIcon(  
                                    "images/Pause.gif"));  
                    button.setActionCommand("暂停");  
  
                    for (int i = 0; i < list.size(); i++) {  
                        list.get(i).ContinueThread();  
                    }  
  
                }  
  
            }  
  
        };  
        button.addActionListener(button_listener);  
  
        this.add(button);  
        this.add(lable);  
        this.add(pBar);  
        this.add(text_field);  
        // 的到菜单条  
        javax.swing.JMenuBar bar = creatMenuBar();  
        // 为窗体设置菜单条  
        this.setJMenuBar(bar);  
        // 设置窗体的可见性  
        this.setVisible(true);  
    }  
  
    /** 
     * 创建菜单条的方法 
     *  
     * @return 
     */  
    public javax.swing.JMenuBar creatMenuBar() {  
        // 创建菜单条对象  
        javax.swing.JMenuBar bar = new javax.swing.JMenuBar();  
        // 创建菜单对象  
        javax.swing.JMenu menu_menu = new javax.swing.JMenu("菜单");  
        javax.swing.JMenu difficulty_menu = new javax.swing.JMenu("难度");  
        javax.swing.JMenu help_menu = new javax.swing.JMenu("帮助");  
        // 创建菜单选项对象  
        javax.swing.JMenuItem star_item = new javax.swing.JMenuItem("开始");  
        javax.swing.JMenuItem exit_item = new javax.swing.JMenuItem("退出");  
        javax.swing.JMenuItem help_item = new javax.swing.JMenuItem("游戏说明");  
        javax.swing.JMenuItem about_item = new javax.swing.JMenuItem("关于");  
        // 创建单选选项  
        javax.swing.JRadioButtonMenuItem easy_item = new javax.swing.JRadioButtonMenuItem(  
                "简单");  
        javax.swing.JRadioButtonMenuItem middle_item = new javax.swing.JRadioButtonMenuItem(  
                "中等");  
        javax.swing.JRadioButtonMenuItem hard_item = new javax.swing.JRadioButtonMenuItem(  
                "困难");  
        // 创建一个按钮组  
        javax.swing.ButtonGroup group = new javax.swing.ButtonGroup();  
        // 将单选按钮添加到按钮组中  
        group.add(easy_item);  
        group.add(middle_item);  
        group.add(hard_item);  
        // 将单选按钮添加到菜单中  
        difficulty_menu.add(easy_item);  
        difficulty_menu.add(middle_item);  
        difficulty_menu.add(hard_item);  
        // 通过匿名内部类来创建动作监听器  
        ActionListener listener = new java.awt.event.ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                command = e.getActionCommand();  
                // 如果选择开始,则创建线程对象  
                if (command.equals("开始") && list.size() == 0) {  
                    creatBall(20, 1);  
  
                }  
                // 如果选择退出按钮,则退出程序  
                if (command.equals("退出")) {  
                    System.exit(0);  
                }  
  
                // 如果选择简单按钮  
                if (command.equals("简单") && list.size() == 0) {  
  
                    creatBall(20, 1);  
                }  
  
                // 如果选择中等按钮  
                if (command.equals("中等") && list.size() == 0) {  
                    creatBall(50, 2);  
  
                }  
                if (command.equals("困难") && list.size() == 0) {  
                    creatBall(40, 2);  
                }  
                if (command.equals("游戏说明")) {  
                    javax.swing.JOptionPane.showMessageDialog(null,  
                            "移动鼠标,用挡板接球,如果接不住,就算输了……\n游戏可以选择难度,包括简单、中等、困难");  
                }  
                if (command.equals("关于")) {  
                    javax.swing.JOptionPane  
                            .showMessageDialog(null,  
                                    "这是一个用Java编写的小游戏……\n制作人:沈冠军\n时间:2010年8月\n版权所有,翻版必究!");  
                }  
            }  
        };  
        // 添加动作监听器  
        star_item.addActionListener(listener);  
        exit_item.addActionListener(listener);  
        easy_item.addActionListener(listener);  
        middle_item.addActionListener(listener);  
        hard_item.addActionListener(listener);  
        help_item.addActionListener(listener);  
        about_item.addActionListener(listener);  
  
        // 将菜单选项对象添加到菜单对象上  
        menu_menu.add(star_item);  
        menu_menu.add(exit_item);  
        help_menu.add(help_item);  
        help_menu.add(about_item);  
        // 将菜单对象添加到菜单条上  
        bar.add(menu_menu);  
        bar.add(difficulty_menu);  
        bar.add(help_menu);  
        // 返回菜单条对象  
        return bar;  
    }  
  
    /** 
     * 创建线程对象的方法 
     *  
     * @param speed 
     *            :速度 
     *  
     */  
    public void creatBall(int speed, int num) {  
        java.util.Random ran = new java.util.Random();  
  
        if (ml == null) {  
            g = UI.getGraphics();  
            ml = new MyListener(g);  
            UI.addMouseListener(ml);  
            UI.addMouseMotionListener(ml);  
  
        }  
        for (int i = 0; i < num; i++) {  
            int x = ran.nextInt(600) + 10;  
            int y = ran.nextInt(300) + 100;  
            MyThread th = new MyThread(g, ml, UI, x, y, speed);  
            list.add(th);  
            th.start();  
        }  
  
    }  
  
    /** 
     * 得到命令的方法 
     */  
    public String getCommand() {  
        return command;  
    }  
  
}
最近下载更多
2085413852 LV110月23日
星星
a1a1a2a4 LV28月4日
星星星星
xiewendong LV26月8日
星星星星
168235 LV21月11日
星星星星
zgp123 LV22018年12月26日
星星星星
YanF1230 LV22018年12月23日
星星星星
mmy625 LV132018年12月16日
月亮月亮月亮星星
aa3921 LV12018年12月12日
星星
日你弟粮 LV22018年11月22日
星星星星
emran2001 LV22018年10月20日
星星星星
最近浏览更多
being__ LV2昨天
星星星星
aa123456aashaiu LV111月8日
星星
echoharu11月4日
暂无贡献等级
18003219803 LV210月30日
星星星星
yangchengshuai LV1210月29日
月亮月亮月亮
2085413852 LV110月22日
星星
玩手机的小胖 LV310月16日
星星星星星星
diedie LV610月16日
月亮星星星星
dota111 LV110月12日
星星
8644330239月25日
暂无贡献等级
最代码广告位
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友