sharkcontrols.java

来自「java编程开发技巧与实例的编译测试通过的所有例程」· Java 代码 · 共 76 行

JAVA
76
字号
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));
		try
		{
			for (int i = 0; i < buttons.length; i ++)
			{
				URL url	=	new URL(applet.getCodeBase(), "Image/" + 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();
		//setLocationRelativeTo(this);
	}
	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) 2008 \n",
											"shark attack",
											JOptionPane.INFORMATION_MESSAGE);
	}
}

⌨️ 快捷键说明

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