cannongamepanel.java
来自「一些JAVA的小程序」· Java 代码 · 共 51 行
JAVA
51 行
//mdm April 2001import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CannonGamePanel extends JPanel { public CannonGamePanel(Integer theta) { setAngle(theta.intValue()); } public static final int PanelWidth = 600; public static final int PanelHeight = 400; private Cannon cannon = new Cannon(new Point(20, PanelHeight - 10)); private CannonTarget target = new CannonTarget(new Point(PanelWidth - 100, PanelHeight - 10)); private Ball aBall; private String message; public void paint (Graphics g) { super.paint(g); cannon.paint(g); target.paint(g); if(aBall != null) aBall.paint(g); g.drawString(message, PanelWidth/2, PanelHeight/2); } private void moveCannonBall() { aBall.move(); if (aBall.y() > PanelHeight-14){ if (target.hitTarget(aBall.x())) message = "You Hit It!"; else message = "Missed!"; aBall = null; } } public void run(){ if(aBall != null) moveCannonBall(); repaint(); try{ Thread.sleep(50);} catch(Exception e) {System.exit(0);} } public void fire() { aBall = cannon.fire(); } public void setAngle(int angle){ cannon.setAngle(angle); message = "Angle: " + angle; repaint(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?