⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sharkcontrols.java

📁 鲨鱼攻击猎物游戏 是一个Applet程序
💻 JAVA
字号:
package shark;

import java.net.*;
import java.awt.event.*;
import java.awt.GridLayout;
import javax.swing.*;

/**
 * 实现控制鲨鱼移动的面板
 */
public class SharkControls extends JFrame implements ActionListener {
    //按钮上的图标
    private String icons[] = { "stop.gif", "up.gif", "rise.gif", "left.gif",
            "swan.gif", "right.gif", "start.gif", "down.gif", "dive.gif" };

    //当鼠标停留在按钮上时出现的提示信息
    private String tips[] = { "Stop game", "Shark up", "Shark rises",
            "Shark left", "Help", "Shark right", "Start game", "Shark down",
            "Shark dives" };

    private SharkAttack applet = null;

    private Shark shark = null;

    private JButton buttons[] = new JButton[9];

    public SharkControls(SharkAttack _applet, Shark _shark) {
        super("Shark Controls");
        applet = _applet;
        shark = _shark;
        JPanel buttonPanel = new JPanel(new GridLayout(3, 3));//定义布局方式为GridLayout
        try {
            for (int i = 0; i < buttons.length; i++) {
                URL url = new URL(applet.getCodeBase(), "Images/" + icons[i]);
                buttons[i] = new JButton(new ImageIcon(url));
                buttons[i].addActionListener(this);
                buttons[i].setToolTipText(tips[i]);
                buttonPanel.add(buttons[i]);
            }
        } catch (MalformedURLException murle) {
            System.err.println("Error loading icons: " + murle);
        }
        getContentPane().add("Center",
                new JPanelBox(buttonPanel, "Shark Controls"));
        setResizable(false); //设置窗口大小不可变化
        validate();
        pack();
    }

    //根据鼠标单击的按钮,执行相应的操作
    public void actionPerformed(ActionEvent ae) {
        if (ae.getSource() == buttons[0]) {
            applet.stop();
        } else if (ae.getSource() == buttons[1]) {
            shark.moveUp();
        } else if (ae.getSource() == buttons[2]) {
            shark.rise();
        } else if (ae.getSource() == buttons[3]) {
            shark.turnLeft();
        } else if (ae.getSource() == buttons[4]) {
            showHelp();
        } else if (ae.getSource() == buttons[5]) {
            shark.turnRight();
        } else if (ae.getSource() == buttons[6]) {
            applet.start();
        } else if (ae.getSource() == buttons[7]) {
            shark.moveDown();
        } else if (ae.getSource() == buttons[8]) {
            shark.dive();
        }
    }

    private void showHelp() {
        //弹出一对话框,显示版本信息
        JOptionPane.showMessageDialog(this, "Shark Attack\n(c) 2005\n",
                "Shark Attack", JOptionPane.INFORMATION_MESSAGE);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -