使用java怎么实现潜艇大战游戏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
代码如下
package com.util;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Observable;
import javax.swing.JLabel;
import javax.swing.JPanel;
/*
* 进图游戏的主界面面板
*/
public class MainPanel extends JPanel
{
private static final long serialVersionUID = 1L;
private MyButton startButton;
private MyButton exitButton;
private JLabel helpLabel;
private JLabel helpLabel1;
private JLabel helpLabel2;
private JLabel helpLabel3;
private Image image;
private JLabel centerlabel;
private boolean isStart;
private boolean isExit;
private Observable obs;
public MainPanel(Observable ob)
{
obs = ob;
startButton = new MyButton("进入游戏");
exitButton = new MyButton("退出游戏");
helpLabel = new JLabel();
helpLabel1 = new JLabel();
helpLabel2 = new JLabel();
helpLabel3 = new JLabel();
centerlabel = new JLabel();
this.setLayout(new BorderLayout());
this.helpLabel.setPreferredSize(new Dimension(645,291));
this.helpLabel1.setPreferredSize(new Dimension(180,80));
this.helpLabel2.setPreferredSize(new Dimension(215,80));
this.helpLabel3.setPreferredSize(new Dimension(645,80));
this.centerlabel.setPreferredSize(new Dimension(460,80));
centerlabel.setLayout(new GridLayout(2,1));
centerlabel.add(this.startButton);
centerlabel.add(this.exitButton);
this.centerlabel.setBackground(new Color(255,255,0));
this.add(helpLabel,BorderLayout.NORTH);
this.add(helpLabel1,BorderLayout.EAST);
this.add(helpLabel2,BorderLayout.WEST);
this.add(helpLabel3,BorderLayout.SOUTH);
this.add(centerlabel,BorderLayout.CENTER);
image = Toolkit.getDefaultToolkit().getImage("imgs/主界面112.png");
// image = new ImageIcon(image).getImage();
this.startButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
boolean flag = true;
MainPanel.this.setIsStart(flag);
MainPanel.this.obs.notifyObservers(MainPanel.this);
}
}
);
this.exitButton.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
MainPanel.this.setExit(true);
}
}
);
}
public void paint(Graphics g)
{
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(image,0,0, this.getWidth(), this.getHeight(),this);
super.paintComponents(g);
}
public boolean getIsStart()
{
return this.isStart;
}
public void setIsStart(boolean isStart)
{
this.isStart = isStart;
}
public boolean isExit() {
return isExit;
}
public void setExit(boolean isExit) {
this.isExit = isExit;
}
}
关于使用java怎么实现潜艇大战游戏问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。