📄 cannonworldpanel.java
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class CannonWorldPanel extends JPanel { public CannonWorldPanel() { } public static final int PanelWidth = 600; public static final int PanelHeight = 400; public Cannon cannon = new Cannon(new Point(20, PanelHeight -10)); private CannonTarget target = new CannonTarget(new Point(PanelWidth - 100, PanelHeight - 15)); private Ball aBall; private String message = "Angle: 45"; 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(); //16 is radius of ball+diameter of target 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -